From 8c591996a83d623fb158fe090acbd89dabbfaf06 Mon Sep 17 00:00:00 2001 From: Arnold Chand Date: Sun, 25 Jul 2021 00:39:56 -0400 Subject: Add importMap option to deno Initialization Options (#3827) * feat(deno): move init options to handlers * feat(deno): add deno lsp support for js files * feat(deno): use default map option * feat(docs): add deno import map option * feat(deno): add tests for importMap option * fix(deno): use full path in importMap * feat(deno): remove deno as linter for js, separate PR * fix(deno): test for executable * fix(deno-test): include filename to simplify function --- autoload/ale/handlers/deno.vim | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'autoload') diff --git a/autoload/ale/handlers/deno.vim b/autoload/ale/handlers/deno.vim index 4bf4546a..1b5e1718 100644 --- a/autoload/ale/handlers/deno.vim +++ b/autoload/ale/handlers/deno.vim @@ -1,8 +1,10 @@ " Author: Mohammed Chelouti - https://github.com/motato1 +" Arnold Chand " Description: Handler functions for Deno. call ale#Set('deno_executable', 'deno') call ale#Set('deno_unstable', 0) +call ale#Set('deno_importMap', 'import_map.json') call ale#Set('deno_lsp_project_root', '') function! ale#handlers#deno#GetExecutable(buffer) abort @@ -50,3 +52,23 @@ function! ale#handlers#deno#GetProjectRoot(buffer) abort return '' endfunction + +" Initialization Options for deno, for javascript and typescript +function! ale#handlers#deno#GetInitializationOptions(buffer) abort + let l:options = { + \ 'enable': v:true, + \ 'lint': v:true, + \ 'unstable': v:false, + \ 'importMap': ale#path#FindNearestFile(a:buffer, 'import_map.json'), + \ } + + if ale#Var(a:buffer, 'deno_unstable') + let l:options.unstable = v:true + endif + + if ale#Var(a:buffer, 'deno_importMap') isnot# '' + let l:options.importMap = ale#path#FindNearestFile(a:buffer, ale#Var(a:buffer, 'deno_importMap')) + endif + + return l:options +endfunction -- cgit v1.2.3