Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitf2a21c9

Browse files
committed
Add support for lua-language-server
1 parentda5fa17 commitf2a21c9

File tree

7 files changed

+86
-0
lines changed

7 files changed

+86
-0
lines changed
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
" Author: w0rp <dev@w0rp.com>
2+
" Description: lua-language-server integration (https://github.com/LuaLS/lua-language-server)
3+
4+
callale#Set('lua_language_server_executable','lua-language-server')
5+
callale#Set('lua_language_server_config', {})
6+
7+
callale#linter#Define('lua', {
8+
\'name':'lua_language_server',
9+
\'aliases': ['lua-language-server'],
10+
\'lsp':'stdio',
11+
\'executable': {b->ale#Var(b,'lua_language_server_executable')},
12+
\'command':'%e',
13+
\'project_root':function('ale#lua#FindProjectRoot'),
14+
\'lsp_config': {b->ale#Var(b,'lua_language_server_config')},
15+
\})

‎autoload/ale/lua.vim‎

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
" Author: w0rp <dev@w0rp.com>
2+
" Description: Functions for integrating with Lua linters.
3+
4+
" Find project root for a Lua language server.
5+
function!ale#lua#FindProjectRoot(buffer)abort
6+
letl:possible_project_roots= [
7+
\'.git',
8+
\bufname(a:buffer),
9+
\]
10+
11+
forl:possible_rootinl:possible_project_roots
12+
letl:project_root=ale#path#FindNearestFile(a:buffer,l:possible_root)
13+
14+
ifempty(l:project_root)
15+
letl:project_root=ale#path#FindNearestDirectory(a:buffer,l:possible_root)
16+
endif
17+
18+
if!empty(l:project_root)
19+
" dir:p expands to /full/path/to/dir/ whereas
20+
" file:p expands to /full/path/to/file (no trailing slash)
21+
" Appending '/' ensures that :h:h removes the path's last segment
22+
" regardless of whether it is a directory or not.
23+
returnfnamemodify(l:project_root .'/',':p:h:h')
24+
endif
25+
endfor
26+
27+
return''
28+
endfunction

‎doc/ale-lua.txt‎

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,30 @@ g:ale_lua_lua_format_options *g:ale_lua_lua_format_options*
2727
This variable can be set to pass additional options to lua-format.
2828

2929

30+
===============================================================================
31+
lua-language-server*ale-lua-lua-language-server*
32+
*ale-lua-language-server*
33+
34+
g:ale_lua_language_server_executable*g:ale_lua_language_server_executable*
35+
*b:ale_lua_language_server_executable*
36+
Type:|String|
37+
Default:`'lua-language-server'`
38+
39+
This variable can be changed to set the path to lua-language-server.
40+
41+
If you have compiled the language server yourself in`/some/path`, the path
42+
will be`'/some/path/bin/lua-language-server'`.
43+
44+
45+
g:ale_lua_lua_language_server_config*g:ale_lua_lua_language_server_config*
46+
*b:ale_lua_lua_language_server_config*
47+
Type:|Dictionary|
48+
Default:`{}`
49+
50+
Dictionary containing configuration settings that will be passed to the
51+
language server.
52+
53+
3054
===============================================================================
3155
luac*ale-lua-luac*
3256

‎doc/ale-supported-languages-and-tools.txt‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -341,6 +341,7 @@ Notes:
341341
* Lua
342342
*`cspell`
343343
*`lua-format`
344+
*`lua-language-server`
344345
*`luac`
345346
*`luacheck`
346347
*`luafmt`

‎doc/ale.txt‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3068,6 +3068,7 @@ documented in additional help files.
30683068
lua.....................................|ale-lua-options|
30693069
cspell................................|ale-lua-cspell|
30703070
lua-format............................|ale-lua-lua-format|
3071+
lua-language-server...................|ale-lua-lua-language-server|
30713072
luac..................................|ale-lua-luac|
30723073
luacheck..............................|ale-lua-luacheck|
30733074
luafmt................................|ale-lua-luafmt|

‎supported-tools.md‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -350,6 +350,7 @@ formatting.
350350
* Lua
351351
*[cspell](https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell)
352352
*[lua-format](https://github.com/Koihik/LuaFormatter)
353+
*[lua-language-server](https://github.com/LuaLS/lua-language-server)
353354
*[luac](https://www.lua.org/manual/5.1/luac.html)
354355
*[luacheck](https://github.com/mpeterv/luacheck)
355356
*[luafmt](https://github.com/trixnz/lua-fmt)
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
Before:
2+
call ale#assert#SetUpLinterTest('lua', 'lua_language_server')
3+
4+
After:
5+
call ale#assert#TearDownLinterTest()
6+
7+
Execute(The default lua-language-server settings should be correct):
8+
AssertLinter 'lua-language-server', ale#Escape('lua-language-server')
9+
AssertLSPConfig {}
10+
11+
Execute(lua-language-server should be configurable):
12+
let b:ale_lua_language_server_executable = 'billy'
13+
let b:ale_lua_language_server_config = {'x': 'y'}
14+
15+
AssertLinter 'billy', ale#Escape('billy')
16+
AssertLSPConfig {'x': 'y'}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp