Mercurial
annotate vim-setup/.vimrc @ 165:3e0e27684e6b
[Gara] Remove unwanted bazel tutorial.
| author | MrJuneJune <me@mrjunejune.com> |
|---|---|
| date | Sat, 13 Dec 2025 14:34:51 -0800 |
| parents | 5e6a5d3c6868 |
| children | 983769fba767 |
| rev | line source |
|---|---|
|
43
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
1 " Line numbers |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
2 set number |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
3 set relativenumber |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
4 |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
5 " Turn off error |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
6 set noerrorbells |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
7 set novisualbell |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
8 set t_vb= |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
9 |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
10 " Indentation |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
11 set tabstop=2 |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
12 set shiftwidth=2 |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
13 set expandtab |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
14 set autoindent |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
15 |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
16 " Syntax |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
17 syntax on |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
18 filetype plugin indent on |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
19 set termguicolors |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
20 let &t_8f = "\<Esc>[38;2;%lu;%lu;%lum" |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
21 let &t_8b = "\<Esc>[48;2;%lu;%lu;%lum" |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
22 colorscheme nightfly |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
23 " Force turn on unless it is over 1M LOC |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
24 autocmd BufReadPre * if getfsize(expand("%")) > 1000000 | syntax off | endif |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
25 |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
26 " Line wrapping |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
27 set nowrap |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
28 |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
29 " Search settings |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
30 set ignorecase |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
31 set smartcase |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
32 set hlsearch |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
33 set incsearch |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
34 |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
35 " Cursor line |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
36 set cursorline |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
37 |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
38 " Appearance |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
39 set termguicolors |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
40 set background=dark |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
41 set signcolumn=yes |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
42 |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
43 " Backspace behavior |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
44 set backspace=indent,eol,start |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
45 |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
46 " Clipboard |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
47 set clipboard+=unnamedplus |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
48 |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
49 " Split window behavior |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
50 set splitright |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
51 set splitbelow |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
52 set splitbelow |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
53 |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
54 " General Keymaps |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
55 " Map semicolon to colon in normal mode |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
56 nnoremap ; : |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
57 |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
58 " Yank into clipboard |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
59 nnoremap <leader>y "+y |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
60 vnoremap <leader>y "+y |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
61 |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
62 " <leader>ff: Fuzzy file search |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
63 nnoremap <leader>ff :Files<CR> |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
64 |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
65 " <leader>fb: Fuzzy search within buffer |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
66 nnoremap <leader>fb :Buffers<CR> |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
67 |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
68 " <leader>ft: ctag search |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
69 nnoremap <leader>ft :Tags<CR> |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
70 |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
71 " <leader>fs: Ripgrep search for word (normal mode) |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
72 nnoremap <leader>fs :RG<CR> |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
73 |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
74 " <leader>fs: Ripgrep search for selected text (visual mode) |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
75 vnoremap <leader>fs :<C-u>execute 'Rg ' . getreg('"')<CR> |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
76 |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
77 " Open man in vim |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
78 noremap <c-k> :h <cword><cr> |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
79 |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
80 " vim wiki |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
81 " Set the directory where your wiki pages will be stored |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
82 let g:wiki_root = expand('~/wiki/') |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
83 |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
84 " Set wiki syntax and file extensions |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
85 let g:wiki_filetypes = ['md', 'wiki'] |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
86 |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
87 " Enable global mappings (optional) |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
88 let g:wiki_global_mappings = 1 |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
89 |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
90 " Enable links to markdown files |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
91 let g:wiki_link_extension = '.md' |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
92 |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
93 " Turn on man vim mode |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
94 runtime! ftplugin/man.vim |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
95 " Keyword |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
96 set keywordprg=:Man |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
97 |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
98 " Setup LSP + completion (I will turn on and off depending on sitautions) |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
99 lua << EOF |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
100 vim.lsp.set_log_level('OFF') |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
101 |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
102 local cmp = require('cmp') |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
103 local luasnip = require('luasnip') |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
104 local lspconfig = require('lspconfig') |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
105 local util = require('lspconfig.util') |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
106 |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
107 -- ────────────────────────────── |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
108 -- nvim-cmp setup (unchanged) |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
109 -- ────────────────────────────── |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
110 cmp.setup({ |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
111 snippet = { |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
112 expand = function(args) luasnip.lsp_expand(args.body) end, |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
113 }, |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
114 mapping = cmp.mapping.preset.insert({ |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
115 ['<C-Space>'] = cmp.mapping.complete(), |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
116 ['<CR>'] = cmp.mapping.confirm({ select = true }), |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
117 ['<C-J>'] = cmp.mapping.select_next_item(), |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
118 ['<C-K>'] = cmp.mapping.select_prev_item(), |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
119 }), |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
120 sources = cmp.config.sources({ |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
121 { name = 'nvim_lsp', group_index = 1 }, |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
122 { name = 'luasnip', group_index = 1 }, |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
123 { name = 'buffer', group_index = 2 }, |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
124 }) |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
125 }) |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
126 |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
127 local capabilities = require('cmp_nvim_lsp').default_capabilities() |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
128 |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
129 -- ts_ls |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
130 lspconfig.ts_ls.setup({ |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
131 capabilities = capabilities, |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
132 root_dir = require('lspconfig.util').root_pattern('tsconfig.json'), |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
133 init_options = { |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
134 maxTsServerMemory = 8192, |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
135 preferences = { |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
136 includePackageJsonAutoImports = "auto", |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
137 }, |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
138 }, |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
139 filetypes = { "typescript", "typescriptreact", "javascript", "javascriptreact" }, |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
140 settings = { |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
141 typescript = { |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
142 inlayHints = { |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
143 includeInlayParameterNameHints = "all", |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
144 includeInlayParameterNameHintsWhenArgumentMatchesName = false, |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
145 includeInlayFunctionParameterTypeHints = true, |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
146 includeInlayVariableTypeHints = true, |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
147 includeInlayPropertyDeclarationTypeHints = true, |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
148 includeInlayFunctionLikeReturnTypeHints = true, |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
149 includeInlayEnumMemberValueHints = true, |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
150 }, |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
151 }, |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
152 }, |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
153 |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
154 -- Force tsserver to reload the tsconfig every time (fixes 95% of path alias issues) |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
155 on_attach = function(client, bufnr) |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
156 -- Optional: show when LSP attaches |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
157 print("ts_ls attached to " .. vim.fn.getcwd()) |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
158 end, |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
159 }) |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
160 |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
161 -- Python |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
162 lspconfig.basedpyright.setup({ |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
163 capabilities = capabilities, |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
164 on_attach = function(client, bufnr) |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
165 -- Optional: notify when Python LSP attaches |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
166 print("basedpyright attached to " .. vim.fn.getcwd()) |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
167 |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
168 -- Common LSP keymaps (you can put them once at the bottom instead if you prefer) |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
169 -- local bufopts = { noremap = true, silent = true, buffer = bufnr } |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
170 -- vim.keymap.set('n', 'gd', vim.lsp.buf.definition, bufopts) |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
171 -- vim.keymap.set('n', 'K', vim.lsp.buf.hover, bufopts) |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
172 -- vim.keymap.set('n', 'gr', vim.lsp.buf.references, bufopts) |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
173 -- vim.keymap.set('n', '<leader>rn', vim.lsp.buf.rename, bufopts) |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
174 -- vim.keymap.set('n', '<leader>ca', vim.lsp.buf.code_action, bufopts) |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
175 -- vim.keymap.set('n', '\\d', vim.diagnostic.open_float, bufopts) |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
176 -- vim.keymap.set('n', '[d', vim.diagnostic.goto_prev, bufopts) |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
177 -- vim.keymap.set('n', ']d', vim.diagnostic.goto_next, bufopts) |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
178 end, |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
179 settings = { |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
180 basedpyright = { |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
181 analysis = { |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
182 autoSearchPaths = true, |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
183 useLibraryCodeForTypes = true, |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
184 diagnosticMode = "workspace", -- or "openFiles" if you have huge monorepos |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
185 typeCheckingMode = "standard", -- "strict" if you want maximum strictness |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
186 }, |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
187 }, |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
188 }, |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
189 root_dir = util.root_pattern( |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
190 "venv", -- This is what I mostly use |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
191 "pyproject.toml", -- belows are whatever they use I guess |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
192 "setup.py", |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
193 "setup.cfg", |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
194 "requirements.txt", |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
195 ".git" |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
196 ), |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
197 }) |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
198 |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
199 EOF |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
200 |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
201 " Optional key mappings for LSP |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
202 nnoremap <silent> gd <cmd>lua vim.lsp.buf.definition()<CR> |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
203 nnoremap <silent> K <cmd>lua vim.lsp.buf.hover()<CR> |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
204 nnoremap <silent> gr <cmd>lua vim.lsp.buf.references()<CR> |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
205 nnoremap <silent> \d <cmd>lua vim.diagnostic.open_float(nil, { border = "rounded" })<CR> |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
206 nnoremap <silent> [d <cmd>lua vim.diagnostic.goto_prev()<CR> |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
207 nnoremap <silent> ]d <cmd>lua vim.diagnostic.goto_next()<CR> |
|
5e6a5d3c6868
[Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
208 nnoremap <silent> \ca <cmd>lua vim.lsp.buf.code_action()<CR> |