mirror of
https://github.com/neovim/neovim.git
synced 2024-09-17 20:58:20 -04:00
build(lint): check scripts/*.lua
This commit is contained in:
parent
39c886551b
commit
736299bf22
@ -25,3 +25,7 @@ ignore = {
|
||||
read_globals = {
|
||||
"vim",
|
||||
}
|
||||
|
||||
exclude_files = {
|
||||
'test/functional/fixtures/lua/syntax_error.lua',
|
||||
}
|
||||
|
@ -691,7 +691,7 @@ endif()
|
||||
|
||||
if(LUACHECK_PRG)
|
||||
add_custom_target(lualint
|
||||
COMMAND ${LUACHECK_PRG} -q runtime/ src/ test/ --exclude-files test/functional/fixtures/lua/syntax_error.lua
|
||||
COMMAND ${LUACHECK_PRG} -q runtime/ scripts/ src/ test/
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
else()
|
||||
add_custom_target(lualint false
|
||||
|
@ -1,4 +1,4 @@
|
||||
mpack = require('mpack')
|
||||
local mpack = require('mpack')
|
||||
|
||||
if arg[1] == '--help' then
|
||||
print('Usage: lua genvimvim.lua src/nvim runtime/syntax/vim/generated.vim')
|
||||
@ -52,7 +52,7 @@ local function is_autocmd_cmd(cmd)
|
||||
or cmd == 'doautoall')
|
||||
end
|
||||
|
||||
vimcmd_start = 'syn keyword vimCommand contained '
|
||||
local vimcmd_start = 'syn keyword vimCommand contained '
|
||||
w(vimcmd_start)
|
||||
local prev_cmd = nil
|
||||
for _, cmd_desc in ipairs(ex_cmds.cmds) do
|
||||
@ -123,9 +123,8 @@ end
|
||||
w('\n\nsyn case match')
|
||||
local vimfun_start = 'syn keyword vimFuncName contained '
|
||||
w('\n\n' .. vimfun_start)
|
||||
funcs = mpack.unpack(io.open(funcs_file, 'rb'):read("*all"))
|
||||
local started = 0
|
||||
for name, def in pairs(funcs) do
|
||||
local funcs = mpack.unpack(io.open(funcs_file, 'rb'):read("*all"))
|
||||
for name, _ in pairs(funcs) do
|
||||
if name then
|
||||
if lld.line_length > 850 then
|
||||
w('\n' .. vimfun_start)
|
||||
|
@ -50,7 +50,7 @@ However I have put in a hack that will insert the "missing" close paren.
|
||||
The effect is that you will get the function documented, but not with the parameter list you might expect.
|
||||
]]
|
||||
|
||||
function class(BaseClass, ClassInitialiser)
|
||||
local function class(BaseClass, ClassInitialiser)
|
||||
local newClass = {} -- a new class newClass
|
||||
if not ClassInitialiser and type(BaseClass) == 'function' then
|
||||
ClassInitialiser = BaseClass
|
||||
@ -68,15 +68,14 @@ function class(BaseClass, ClassInitialiser)
|
||||
|
||||
-- expose a constructor which can be called by <classname>(<args>)
|
||||
local classMetatable = {}
|
||||
classMetatable.__call =
|
||||
function(class_tbl, ...)
|
||||
classMetatable.__call = function(class_tbl, ...)
|
||||
local newInstance = {}
|
||||
setmetatable(newInstance,newClass)
|
||||
--if init then
|
||||
-- init(newInstance,...)
|
||||
if class_tbl.init then
|
||||
class_tbl.init(newInstance,...)
|
||||
else
|
||||
else
|
||||
-- make sure that any stuff from the base class is initialized!
|
||||
if BaseClass and BaseClass.init then
|
||||
BaseClass.init(newInstance, ...)
|
||||
@ -85,10 +84,9 @@ function class(BaseClass, ClassInitialiser)
|
||||
return newInstance
|
||||
end
|
||||
newClass.init = ClassInitialiser
|
||||
newClass.is_a =
|
||||
function(this, klass)
|
||||
newClass.is_a = function(this, klass)
|
||||
local thisMetatable = getmetatable(this)
|
||||
while thisMetatable do
|
||||
while thisMetatable do
|
||||
if thisMetatable == klass then
|
||||
return true
|
||||
end
|
||||
@ -102,12 +100,13 @@ end
|
||||
|
||||
--! \class TCore_Clock
|
||||
--! \brief a clock
|
||||
TCore_Clock = class()
|
||||
local TCore_Clock = class()
|
||||
|
||||
--! \brief get the current time
|
||||
function TCore_Clock.GetTimeNow()
|
||||
if os.gettimeofday then
|
||||
return os.gettimeofday()
|
||||
local gettimeofday = os.gettimeofday -- luacheck: ignore 143 Accessing an undefined field of a global variable.
|
||||
if gettimeofday then
|
||||
return gettimeofday()
|
||||
else
|
||||
return os.time()
|
||||
end
|
||||
@ -134,20 +133,15 @@ function TCore_Clock.getTimeStamp(this,T0)
|
||||
end
|
||||
|
||||
|
||||
--! \brief io to console
|
||||
--!
|
||||
--! pseudo class (no methods, just to keep documentation tidy)
|
||||
TCore_IO = class()
|
||||
--
|
||||
--! \brief write to stdout
|
||||
function TCore_IO_write(Str)
|
||||
local function TCore_IO_write(Str)
|
||||
if (Str) then
|
||||
io.write(Str)
|
||||
end
|
||||
end
|
||||
|
||||
--! \brief write to stdout
|
||||
function TCore_IO_writeln(Str)
|
||||
local function TCore_IO_writeln(Str)
|
||||
if (Str) then
|
||||
io.write(Str)
|
||||
end
|
||||
@ -156,16 +150,16 @@ end
|
||||
|
||||
|
||||
--! \brief trims a string
|
||||
function string_trim(Str)
|
||||
local function string_trim(Str)
|
||||
return Str:match("^%s*(.-)%s*$")
|
||||
end
|
||||
|
||||
--! \brief split a string
|
||||
--!
|
||||
--!
|
||||
--! \param Str
|
||||
--! \param Pattern
|
||||
--! \returns table of string fragments
|
||||
function string_split(Str, Pattern)
|
||||
local function string_split(Str, Pattern)
|
||||
local splitStr = {}
|
||||
local fpat = "(.-)" .. Pattern
|
||||
local last_end = 1
|
||||
@ -187,7 +181,7 @@ end
|
||||
|
||||
--! \class TCore_Commandline
|
||||
--! \brief reads/parses commandline
|
||||
TCore_Commandline = class()
|
||||
local TCore_Commandline = class()
|
||||
|
||||
--! \brief constructor
|
||||
function TCore_Commandline.init(this)
|
||||
@ -207,29 +201,21 @@ end
|
||||
|
||||
-------------------------------
|
||||
--! \brief file buffer
|
||||
--!
|
||||
--!
|
||||
--! an input file buffer
|
||||
TStream_Read = class()
|
||||
local TStream_Read = class()
|
||||
|
||||
--! \brief get contents of file
|
||||
--!
|
||||
--!
|
||||
--! \param Filename name of file to read (or nil == stdin)
|
||||
function TStream_Read.getContents(this,Filename)
|
||||
assert(Filename)
|
||||
-- get lines from file
|
||||
local filecontents
|
||||
if Filename then
|
||||
-- syphon lines to our table
|
||||
--TCore_Debug_show_var('Filename',Filename)
|
||||
filecontents={}
|
||||
for line in io.lines(Filename) do
|
||||
table.insert(filecontents,line)
|
||||
end
|
||||
else
|
||||
-- get stuff from stdin as a long string (with crlfs etc)
|
||||
filecontents=io.read('*a')
|
||||
-- make it a table of lines
|
||||
filecontents = TString_split(filecontents,'[\n]') -- note this only works for unix files.
|
||||
Filename = 'stdin'
|
||||
-- syphon lines to our table
|
||||
--TCore_Debug_show_var('Filename',Filename)
|
||||
local filecontents={}
|
||||
for line in io.lines(Filename) do
|
||||
table.insert(filecontents,line)
|
||||
end
|
||||
|
||||
if filecontents then
|
||||
@ -278,7 +264,7 @@ function TStream_Read.eof(this)
|
||||
end
|
||||
|
||||
--! \brief output stream
|
||||
TStream_Write = class()
|
||||
local TStream_Write = class()
|
||||
|
||||
--! \brief constructor
|
||||
function TStream_Write.init(this)
|
||||
@ -286,17 +272,17 @@ function TStream_Write.init(this)
|
||||
end
|
||||
|
||||
--! \brief write immediately
|
||||
function TStream_Write.write(this,Str)
|
||||
function TStream_Write.write(_,Str)
|
||||
TCore_IO_write(Str)
|
||||
end
|
||||
|
||||
--! \brief write immediately
|
||||
function TStream_Write.writeln(this,Str)
|
||||
function TStream_Write.writeln(_,Str)
|
||||
TCore_IO_writeln(Str)
|
||||
end
|
||||
|
||||
--! \brief write immediately
|
||||
function TStream_Write.writelnComment(this,Str)
|
||||
function TStream_Write.writelnComment(_,Str)
|
||||
TCore_IO_write('// ZZ: ')
|
||||
TCore_IO_writeln(Str)
|
||||
end
|
||||
@ -311,14 +297,14 @@ end
|
||||
|
||||
--! \brief outout tail lines
|
||||
function TStream_Write.write_tailLines(this)
|
||||
for k,line in ipairs(this.tailLine) do
|
||||
for _,line in ipairs(this.tailLine) do
|
||||
TCore_IO_writeln(line)
|
||||
end
|
||||
TCore_IO_write('// Lua2DoX new eof')
|
||||
end
|
||||
|
||||
--! \brief input filter
|
||||
TLua2DoX_filter = class()
|
||||
local TLua2DoX_filter = class()
|
||||
|
||||
--! \brief allow us to do errormessages
|
||||
function TLua2DoX_filter.warning(this,Line,LineNo,Legend)
|
||||
@ -371,12 +357,12 @@ local function checkComment4fn(Fn_magic,MagicLines)
|
||||
|
||||
local macro,tail
|
||||
|
||||
for k,line in ipairs(magicLines) do
|
||||
for _, line in ipairs(magicLines) do
|
||||
macro,tail = getMagicDirective(line)
|
||||
if macro == 'fn' then
|
||||
fn_magic = tail
|
||||
-- TCore_IO_writeln('// found fn "' .. fn_magic .. '"')
|
||||
else
|
||||
--else
|
||||
--TCore_IO_writeln('// not found fn "' .. line .. '"')
|
||||
end
|
||||
end
|
||||
@ -385,8 +371,6 @@ local function checkComment4fn(Fn_magic,MagicLines)
|
||||
end
|
||||
--! \brief run the filter
|
||||
function TLua2DoX_filter.readfile(this,AppStamp,Filename)
|
||||
local err
|
||||
|
||||
local inStream = TStream_Read()
|
||||
local outStream = TStream_Write()
|
||||
this.outStream = outStream -- save to this obj
|
||||
@ -401,8 +385,9 @@ function TLua2DoX_filter.readfile(this,AppStamp,Filename)
|
||||
outStream:writelnTail('// #######################')
|
||||
outStream:writelnTail()
|
||||
|
||||
local state, offset = '', 0
|
||||
while not (err or inStream:eof()) do
|
||||
local state = '' -- luacheck: ignore 231 variable is set but never accessed.
|
||||
local offset = 0
|
||||
while not (inStream:eof()) do
|
||||
line = string_trim(inStream:getLine())
|
||||
-- TCore_Debug_show_var('inStream',inStream)
|
||||
-- TCore_Debug_show_var('line',line )
|
||||
@ -427,7 +412,7 @@ function TLua2DoX_filter.readfile(this,AppStamp,Filename)
|
||||
line = string.sub(line,5) -- nibble head
|
||||
local comment = ''
|
||||
local closeSquare,hitend,thisComment
|
||||
while (not err) and (not hitend) and (not inStream:eof()) do
|
||||
while (not hitend) and (not inStream:eof()) do
|
||||
closeSquare = string.find(line,']]')
|
||||
if not closeSquare then -- need to look on another line
|
||||
thisComment = line .. '\n'
|
||||
@ -544,7 +529,7 @@ function TLua2DoX_filter.readfile(this,AppStamp,Filename)
|
||||
end
|
||||
|
||||
--! \brief this application
|
||||
TApp = class()
|
||||
local TApp = class()
|
||||
|
||||
--! \brief constructor
|
||||
function TApp.init(this)
|
||||
@ -556,16 +541,16 @@ function TApp.init(this)
|
||||
end
|
||||
|
||||
function TApp.getRunStamp(this)
|
||||
return this.name .. ' (' .. this.version .. ') '
|
||||
return this.name .. ' (' .. this.version .. ') '
|
||||
.. this.timestamp
|
||||
end
|
||||
|
||||
function TApp.getVersion(this)
|
||||
return this.name .. ' (' .. this.version .. ') '
|
||||
return this.name .. ' (' .. this.version .. ') '
|
||||
end
|
||||
|
||||
function TApp.getCopyright(this)
|
||||
return this.copyright
|
||||
return this.copyright
|
||||
end
|
||||
|
||||
local This_app = TApp()
|
||||
|
@ -5,10 +5,6 @@
|
||||
|
||||
local nvim = vim.api
|
||||
|
||||
local function pprint(o)
|
||||
print(nvim.nvim_call_function('string', { o }))
|
||||
end
|
||||
|
||||
local function systemlist(...)
|
||||
local rv = nvim.nvim_call_function('systemlist', ...)
|
||||
local err = nvim.nvim_get_vvar('shell_error')
|
||||
|
Loading…
Reference in New Issue
Block a user