From 8bf5d144ed2299e0ecd6fa8f9703647e5c5ef02f Mon Sep 17 00:00:00 2001 From: Bartolomeo Stellato Date: Thu, 30 Aug 2018 15:40:04 -0400 Subject: Started adding julia languageserver --- ale_linters/julia/languageserver.vim | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 ale_linters/julia/languageserver.vim (limited to 'ale_linters/julia/languageserver.vim') diff --git a/ale_linters/julia/languageserver.vim b/ale_linters/julia/languageserver.vim new file mode 100644 index 00000000..1755c794 --- /dev/null +++ b/ale_linters/julia/languageserver.vim @@ -0,0 +1,30 @@ +" Author: Bartolomeo Stellato +" Description: A language server for Julia + +call ale#Set('julia_languageserver_executable', 'julia') +call ale#Set('julia_languageserver_use_global', get(g:, 'ale_use_global_executables', 0)) + +function! ale_linters#julia#languageserver#GetExecutable(buffer) abort + let l:binary = ale#Var(a:buffer, 'julia_languageserver_executable') + return ale#Escape(l:binary) +endfunction + +function! ale_linters#julia#languageserver#GetCommand(buffer) abort + let l:executable = ale_linters#julia#languageserver#GetExecutable(a:buffer) + let l:options = '--startup-file=no --history-file=no -e ' . '" +\ using LanguageServer; +\ server = LanguageServer.LanguageServerInstance(STDIN, STDOUT, false); +\ server.runlinter = true; +\ run(server);"' + + return ale#Escape(l:executable) . ale#Escape(l:options) + +endfunction + +call ale#linter#Define('julia', { +\ 'name': 'languageserver', +\ 'lsp': 'stdio', +\ 'executable_callback': 'ale_linters#julia#languageserver#GetExecutable', +\ 'command_callback': 'ale_linters#julia#languageserver#GetCommand', +\ 'project_root_callback': 'ale#julia#FindProjectRoot', +\}) -- cgit v1.2.3 From df72c5f1c11726a8db2c9c22fa579ee59238d0aa Mon Sep 17 00:00:00 2001 From: Bartolomeo Stellato Date: Fri, 7 Sep 2018 11:11:29 -0400 Subject: Added various files to integrate julia. Still not working. --- ale_linters/julia/languageserver.vim | 22 ++++------------------ 1 file changed, 4 insertions(+), 18 deletions(-) (limited to 'ale_linters/julia/languageserver.vim') diff --git a/ale_linters/julia/languageserver.vim b/ale_linters/julia/languageserver.vim index 1755c794..d59e9959 100644 --- a/ale_linters/julia/languageserver.vim +++ b/ale_linters/julia/languageserver.vim @@ -1,30 +1,16 @@ " Author: Bartolomeo Stellato " Description: A language server for Julia -call ale#Set('julia_languageserver_executable', 'julia') -call ale#Set('julia_languageserver_use_global', get(g:, 'ale_use_global_executables', 0)) - -function! ale_linters#julia#languageserver#GetExecutable(buffer) abort - let l:binary = ale#Var(a:buffer, 'julia_languageserver_executable') - return ale#Escape(l:binary) -endfunction - function! ale_linters#julia#languageserver#GetCommand(buffer) abort - let l:executable = ale_linters#julia#languageserver#GetExecutable(a:buffer) - let l:options = '--startup-file=no --history-file=no -e ' . '" -\ using LanguageServer; -\ server = LanguageServer.LanguageServerInstance(STDIN, STDOUT, false); -\ server.runlinter = true; -\ run(server);"' - - return ale#Escape(l:executable) . ale#Escape(l:options) - + let l:julia_executable = ale#Var(a:buffer, 'julia_executable') + return ale#Escape(l:julia_executable) . ale#Escape("--startup-file=no --history-file=no -e 'using LanguageServer; server = LanguageServer.LanguageServerInstance(STDIN, STDOUT, false); server.runlinter = true; run(server);'") endfunction call ale#linter#Define('julia', { \ 'name': 'languageserver', \ 'lsp': 'stdio', -\ 'executable_callback': 'ale_linters#julia#languageserver#GetExecutable', +\ 'executable_callback': ale#VarFunc('julia_executable'), \ 'command_callback': 'ale_linters#julia#languageserver#GetCommand', +\ 'language': 'julia', \ 'project_root_callback': 'ale#julia#FindProjectRoot', \}) -- cgit v1.2.3 From f64f0bb48c6e080932ec3a99ac03a69a57f7a933 Mon Sep 17 00:00:00 2001 From: Bartolomeo Stellato Date: Fri, 7 Sep 2018 13:16:22 -0400 Subject: Added tests --- ale_linters/julia/languageserver.vim | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'ale_linters/julia/languageserver.vim') diff --git a/ale_linters/julia/languageserver.vim b/ale_linters/julia/languageserver.vim index d59e9959..c5cd063a 100644 --- a/ale_linters/julia/languageserver.vim +++ b/ale_linters/julia/languageserver.vim @@ -1,9 +1,12 @@ " Author: Bartolomeo Stellato " Description: A language server for Julia +" Set julia executable variable +call ale#Set('julia_executable', 'julia') + function! ale_linters#julia#languageserver#GetCommand(buffer) abort let l:julia_executable = ale#Var(a:buffer, 'julia_executable') - return ale#Escape(l:julia_executable) . ale#Escape("--startup-file=no --history-file=no -e 'using LanguageServer; server = LanguageServer.LanguageServerInstance(STDIN, STDOUT, false); server.runlinter = true; run(server);'") + return ale#Escape(l:julia_executable . " --startup-file=no --history-file=no -e 'using LanguageServer; server = LanguageServer.LanguageServerInstance(STDIN, STDOUT, false); server.runlinter = true; run(server);'") endfunction call ale#linter#Define('julia', { -- cgit v1.2.3 From 68ac4d10954b1f1d9f1ae890e0967014aeb00a52 Mon Sep 17 00:00:00 2001 From: Bartolomeo Stellato Date: Fri, 7 Sep 2018 14:13:44 -0400 Subject: Fix julia escaping + minor edits --- ale_linters/julia/languageserver.vim | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'ale_linters/julia/languageserver.vim') diff --git a/ale_linters/julia/languageserver.vim b/ale_linters/julia/languageserver.vim index c5cd063a..87c3030f 100644 --- a/ale_linters/julia/languageserver.vim +++ b/ale_linters/julia/languageserver.vim @@ -6,7 +6,8 @@ call ale#Set('julia_executable', 'julia') function! ale_linters#julia#languageserver#GetCommand(buffer) abort let l:julia_executable = ale#Var(a:buffer, 'julia_executable') - return ale#Escape(l:julia_executable . " --startup-file=no --history-file=no -e 'using LanguageServer; server = LanguageServer.LanguageServerInstance(STDIN, STDOUT, false); server.runlinter = true; run(server);'") + let l:cmd_string = 'using LanguageServer; server = LanguageServer.LanguageServerInstance(STDIN, STDOUT, false); server.runlinter = true; run(server);' + return l:julia_executable . ' --startup-file=no --history-file=no -e ' . ale#Escape(l:cmd_string) endfunction call ale#linter#Define('julia', { -- cgit v1.2.3 From b3adf241c3ec2af295599a7a6469d8b208ff5817 Mon Sep 17 00:00:00 2001 From: Bartolomeo Stellato Date: Sat, 8 Sep 2018 16:05:34 -0400 Subject: Fix other warnings --- ale_linters/julia/languageserver.vim | 1 + 1 file changed, 1 insertion(+) (limited to 'ale_linters/julia/languageserver.vim') diff --git a/ale_linters/julia/languageserver.vim b/ale_linters/julia/languageserver.vim index 87c3030f..bf459926 100644 --- a/ale_linters/julia/languageserver.vim +++ b/ale_linters/julia/languageserver.vim @@ -7,6 +7,7 @@ call ale#Set('julia_executable', 'julia') function! ale_linters#julia#languageserver#GetCommand(buffer) abort let l:julia_executable = ale#Var(a:buffer, 'julia_executable') let l:cmd_string = 'using LanguageServer; server = LanguageServer.LanguageServerInstance(STDIN, STDOUT, false); server.runlinter = true; run(server);' + return l:julia_executable . ' --startup-file=no --history-file=no -e ' . ale#Escape(l:cmd_string) endfunction -- cgit v1.2.3 From 97ed25a8bfec6c7f7abbb825ba65205b3cb1b115 Mon Sep 17 00:00:00 2001 From: Bartolomeo Stellato Date: Sun, 9 Sep 2018 10:09:05 -0400 Subject: Escape julia command + reorder table in README --- ale_linters/julia/languageserver.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'ale_linters/julia/languageserver.vim') diff --git a/ale_linters/julia/languageserver.vim b/ale_linters/julia/languageserver.vim index bf459926..b6bf8e73 100644 --- a/ale_linters/julia/languageserver.vim +++ b/ale_linters/julia/languageserver.vim @@ -8,7 +8,7 @@ function! ale_linters#julia#languageserver#GetCommand(buffer) abort let l:julia_executable = ale#Var(a:buffer, 'julia_executable') let l:cmd_string = 'using LanguageServer; server = LanguageServer.LanguageServerInstance(STDIN, STDOUT, false); server.runlinter = true; run(server);' - return l:julia_executable . ' --startup-file=no --history-file=no -e ' . ale#Escape(l:cmd_string) + return ale#Escape(l:julia_executable) . ' --startup-file=no --history-file=no -e ' . ale#Escape(l:cmd_string) endfunction call ale#linter#Define('julia', { -- cgit v1.2.3