From ab0bf615123da5f5f7eb30d18ee34b0b317aa795 Mon Sep 17 00:00:00 2001 From: Andrew Hayworth Date: Mon, 22 Jul 2019 08:06:55 -0500 Subject: 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. --- doc/ale-ink.txt | 40 +++++++++++++++++++++++++++++++ doc/ale-supported-languages-and-tools.txt | 2 ++ doc/ale.txt | 2 ++ 3 files changed, 44 insertions(+) create mode 100644 doc/ale-ink.txt (limited to 'doc') diff --git a/doc/ale-ink.txt b/doc/ale-ink.txt new file mode 100644 index 00000000..9412a09f --- /dev/null +++ b/doc/ale-ink.txt @@ -0,0 +1,40 @@ +=============================================================================== +ALE Ink Integration *ale-ink-options* + + +=============================================================================== +ink-language-server *ale-ink-language-server* + +Ink Language Server + (https://github.com/ephraim/ink-language-server) + +g:ale_ink_ls_executable g:ale_ink_ls_executable + b:ale_ink_ls_executable + Type: |String| + Default: `'ink-language-server'` + + Ink language server executable. + +g:ale_ink_ls_initialization_options + g:ale_ink_ls_initialization_options + b:ale_ink_ls_initialization_options + Type: |Dictionary| + Default: `{}` + + Dictionary containing configuration settings that will be passed to the + language server at startup. For certain platforms and certain story + structures, the defaults will suffice. However, many projects will need to + change these settings - see the ink-language-server website for more + information. + + An example of setting non-default options: + { + \ 'ink': { + \ 'mainStoryPath': 'init.ink', + \ 'inklecateExecutablePath': '/usr/local/bin/inklecate', + \ 'runThroughMono': v:false + \ } + \} + +=============================================================================== + vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/doc/ale-supported-languages-and-tools.txt b/doc/ale-supported-languages-and-tools.txt index d39aaf7e..c6dc2aa7 100644 --- a/doc/ale-supported-languages-and-tools.txt +++ b/doc/ale-supported-languages-and-tools.txt @@ -198,6 +198,8 @@ Notes: * `write-good` * Idris * `idris` +* Ink + * `ink-language-server` * ISPC * `ispc`!! * Java diff --git a/doc/ale.txt b/doc/ale.txt index 5541236f..ba5d7b4a 100644 --- a/doc/ale.txt +++ b/doc/ale.txt @@ -2123,6 +2123,8 @@ documented in additional help files. write-good............................|ale-html-write-good| idris...................................|ale-idris-options| idris.................................|ale-idris-idris| + ink.....................................|ale-ink-options| + ink-language-server...................|ale-ink-language-server| ispc....................................|ale-ispc-options| ispc..................................|ale-ispc-ispc| java....................................|ale-java-options| -- cgit v1.2.3