summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorAndrew Hayworth <ahayworth@gmail.com>2019-07-22 08:06:55 -0500
committerAndrew Hayworth <ahayworth@gmail.com>2019-08-07 16:35:12 -0500
commitab0bf615123da5f5f7eb30d18ee34b0b317aa795 (patch)
tree5d7e7d41ebe204e05b4da21200a2b19b0bc1843f /test
parentdd1e1025b8a9b13cb7966bf2baa3e6b42a862857 (diff)
downloadale-ab0bf615123da5f5f7eb30d18ee34b0b317aa795.zip
Add support for ink-language-server
This commit add support for ink-language-server, which it does by largely copying and pasting from the pure-language-server PR that was merged recently. The most interesting things to note are: - ink-language-server is distributed upstream via npm, which is why we search through node_modules - With some coaxing, it can be installed globally - which is why we search for a global binary. - Ink is a funky language, and users will likely need to add initialization options. - I am not incredibly familiar with vimscript; and I may not have done some of the buffer searching correctly.
Diffstat (limited to 'test')
-rw-r--r--test/command_callback/ink_paths/story/main.ink0
-rw-r--r--test/command_callback/test_ink_ls_command_callbacks.vader22
2 files changed, 22 insertions, 0 deletions
diff --git a/test/command_callback/ink_paths/story/main.ink b/test/command_callback/ink_paths/story/main.ink
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/test/command_callback/ink_paths/story/main.ink
diff --git a/test/command_callback/test_ink_ls_command_callbacks.vader b/test/command_callback/test_ink_ls_command_callbacks.vader
new file mode 100644
index 00000000..5074506c
--- /dev/null
+++ b/test/command_callback/test_ink_ls_command_callbacks.vader
@@ -0,0 +1,22 @@
+Before:
+ call ale#assert#SetUpLinterTest('ink', 'ls')
+ set ft=ink
+
+After:
+ call ale#assert#TearDownLinterTest()
+
+Execute(should set correct defaults):
+ AssertLinter 'ink-language-server', ale#Escape('ink-language-server') . ' --stdio'
+
+Execute(should set correct LSP values):
+ call ale#test#SetFilename('ink_paths/story/main.ink')
+
+ AssertLSPLanguage 'ink'
+ AssertLSPOptions {}
+ AssertLSPConfig {}
+ AssertLSPProject ale#path#Simplify(g:dir . '/ink_paths/story')
+
+Execute(should accept configuration settings):
+ AssertLSPConfig {}
+ let b:ale_ink_ls_initialization_options = {'ink': {'runThroughMono': v:true}}
+ AssertLSPOptions {'ink': {'runThroughMono': v:true}}