summaryrefslogtreecommitdiff
path: root/autoload/ale/handlers/deno.vim
diff options
context:
space:
mode:
Diffstat (limited to 'autoload/ale/handlers/deno.vim')
-rw-r--r--autoload/ale/handlers/deno.vim22
1 files changed, 22 insertions, 0 deletions
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 <creativenull@outlook.com>
" 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