diff --git a/nvim/.config/nvim/init.vim b/nvim/.config/nvim/init.vim index aeab113..810f840 100644 --- a/nvim/.config/nvim/init.vim +++ b/nvim/.config/nvim/init.vim @@ -28,6 +28,8 @@ Plug 'ftorres16/spice.vim' Plug 'vmware/differential-datalog', {'rtp': 'tools/vim'} Plug 'FStarLang/VimFStar', {'for': 'fstar'} Plug 'purescript-contrib/purescript-vim' +" Plug '~/Documents/software/chapel/highlight/vim' +" Plug 'ashinkarov/nvim-agda' " Themes Plug 'arcticicestudio/nord-vim' @@ -41,6 +43,7 @@ Plug 'simrat39/symbols-outline.nvim' Plug 'folke/todo-comments.nvim' " Misc +Plug 'uga-rosa/utf8.nvim' Plug 'nvim-lua/plenary.nvim' Plug 'airblade/vim-gitgutter' Plug 'f-person/git-blame.nvim' @@ -57,12 +60,14 @@ set guifont=Iosevka:h35 " Use Ioeska in frontends. set hidden autocmd ColorScheme * highlight ExtraWhitespace ctermbg=red guibg=red +autocmd ColorScheme * highlight Comment ctermfg=green autocmd BufWinEnter * match ExtraWhitespace /\s\+$/ " Highlight trailing whitespace autocmd BufRead,BufNewFile *.v set filetype=coq " Coq is not Verilog autocmd BufNewFile,BufRead *.cir set filetype=spice " LTSpice is Spice autocmd BufRead,BufNewFile *.dl set filetype=dl " Datalog is Datalog autocmd FileType crystal setlocal shiftwidth=2 " Crystal likes 2-wide indent autocmd FileType cpp setlocal shiftwidth=2 " Chapel has two-wide indents +autocmd BufRead,BufNewFile *.ast set filetype=ast " AST files are from Chapel. " Settings for Rainbow let g:rainbow_active = 1 @@ -96,6 +101,10 @@ lua require('lspconfig').tsserver.setup{} lua require('lspconfig').elmls.setup{} lua require('lspconfig').pylsp.setup{} lua require('lspconfig').purescriptls.setup{} +lua require('lspconfig').pyright.setup{} + +" All these language servers can be used for symbols-outline +lua require("symbols-outline").setup() " nmap K (lcn-menu) nmap M lua vim.lsp.diagnostic.show_line_diagnostics() @@ -138,3 +147,35 @@ lua << EOF search = { command = "ag", }, } EOF + +lua << EOF + local lspconfig = require 'lspconfig' + local configs = require 'lspconfig.configs' + local util = require 'lspconfig.util' + + configs.chplcheck = { + default_config = { + cmd = {"chplcheck", "--lsp", "--enable-rule", "UnusedFormal", "--enable-rule", "UnusedLoopIndex"}, + filetypes = {'chpl'}, + autostart = true, + single_file_support = true, + root_dir = util.find_git_ancestor, + settings = {}, + }, + } + + configs.chpllsp = { + default_config = { + cmd = {"/Users/daniel.fedorin/Documents/software/chapel/tools/chpl-language-server/chpl-language-server", "--resolver"}, + filetypes = {'chpl'}, + autostart = true, + single_file_support = true, + root_dir = util.find_git_ancestor, + settings = {}, + }, + } + + lspconfig.chplcheck.setup{} + lspconfig.chpllsp.setup{} + vim.cmd("autocmd BufRead,BufNewFile *.chpl set filetype=chpl") +EOF