From c96b89cbc35103750ae9631b11a6e9bdbb1de5aa Mon Sep 17 00:00:00 2001 From: Nicholas Novak <34256932+NickyBoy89@users.noreply.github.com> Date: Thu, 23 Jun 2022 15:20:48 -0700 Subject: [PATCH] Added config for Javascript and Flow --- nvim/.config/nvim/init.vim | 39 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/nvim/.config/nvim/init.vim b/nvim/.config/nvim/init.vim index bfe7ddf..f85f2f5 100644 --- a/nvim/.config/nvim/init.vim +++ b/nvim/.config/nvim/init.vim @@ -48,6 +48,14 @@ Plug 'plasticboy/vim-markdown' Plug 'vim-python/python-syntax' Plug 'karolbelina/uxntal.vim' +" Javascript Syntax +Plug 'pangloss/vim-javascript' +Plug 'mxw/vim-jsx' + +" Javascript LSPs +Plug 'denoland/deno' +Plug 'facebook/flow' + call plug#end() set autowrite @@ -91,6 +99,9 @@ let g:vim_markdown_frontmatter = 1 let g:vimtex_view_method = 'zathura' let g:vimtex_quickfix_mode=0 +" Javascript Flow syntax support +let g:javascript_plugin_flow=1 + " LSP configuration lua << END local cmp = require'cmp' @@ -187,6 +198,34 @@ lspconfig.java_language_server.setup{ cmd = {"/usr/share/java/java-language-server/lang_server_linux.sh"}, } +-- Required for the Deno Language Server +vim.g.markdown_fenced_languages = { + "ts=typescript" +} + +-- Deno Javascript Language Server +lspconfig.denols.setup{ + on_attach = on_attach, + flags = lsp_flags, + -- Disable the highlighting for Deno, because it conflicts with Flow typing + handlers = { + ["textDocument/publishDiagnostics"] = vim.lsp.with( + vim.lsp.diagnostic.on_publish_diagnostics, { + -- Disable virtual_text + virtual_text = false, + signs = false, + } + ) + } +} + +-- Flow Javascript Language Server +lspconfig.flow.setup{ + on_attach = on_attach, + flags = lsp_flags, + cmd = {"flow", "lsp"} +} + vim.lsp.handlers["textDocument/publishDiagnostics"] = vim.lsp.with( vim.lsp.diagnostic.on_publish_diagnostics, { virtual_text = true,