annotate vim-setup/.vimrc @ 146:8e56f800b7e4

Fixed small issues.
author June Park <parkjune1995@gmail.com>
date Fri, 09 Jan 2026 13:45:29 -0800
parents 983769fba767
children 76cd7afa6b8e
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
50
983769fba767 Updated so that fzf works out of the box.
June Park <me@mrjunejune.com>
parents: 43
diff changeset
62 " FZF
983769fba767 Updated so that fzf works out of the box.
June Park <me@mrjunejune.com>
parents: 43
diff changeset
63 " Add fzf to runtimepath
983769fba767 Updated so that fzf works out of the box.
June Park <me@mrjunejune.com>
parents: 43
diff changeset
64 set rtp += ~/.fzf
43
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
65 " <leader>ff: Fuzzy file search
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
66 nnoremap <leader>ff :Files<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>fb: Fuzzy search within buffer
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
69 nnoremap <leader>fb :Buffers<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>ft: ctag search
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
72 nnoremap <leader>ft :Tags<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 word (normal mode)
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
75 nnoremap <leader>fs :RG<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 " <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
78 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
79
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
80 " Open man in vim
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
81 noremap <c-k> :h <cword><cr>
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
82
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
83 " vim wiki
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
84 " 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
85 let g:wiki_root = expand('~/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 " Set wiki syntax and file extensions
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
88 let g:wiki_filetypes = ['md', 'wiki']
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 global mappings (optional)
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
91 let g:wiki_global_mappings = 1
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 " Enable links to markdown files
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
94 let g:wiki_link_extension = '.md'
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
95
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
96 " Turn on man vim mode
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
97 runtime! ftplugin/man.vim
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
98 " Keyword
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
99 set keywordprg=:Man
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
100
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
101 " 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
102 lua << EOF
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
103 vim.lsp.set_log_level('OFF')
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
104
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
105 local cmp = require('cmp')
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
106 local luasnip = require('luasnip')
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
107 local lspconfig = require('lspconfig')
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
108 local util = require('lspconfig.util')
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 -- ──────────────────────────────
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
111 -- nvim-cmp setup (unchanged)
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
112 -- ──────────────────────────────
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
113 cmp.setup({
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
114 snippet = {
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
115 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
116 },
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
117 mapping = cmp.mapping.preset.insert({
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
118 ['<C-Space>'] = cmp.mapping.complete(),
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
119 ['<CR>'] = cmp.mapping.confirm({ select = true }),
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
120 ['<C-J>'] = cmp.mapping.select_next_item(),
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
121 ['<C-K>'] = cmp.mapping.select_prev_item(),
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
122 }),
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
123 sources = cmp.config.sources({
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
124 { name = 'nvim_lsp', group_index = 1 },
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
125 { name = 'luasnip', group_index = 1 },
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
126 { name = 'buffer', group_index = 2 },
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
127 })
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
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
130 local capabilities = require('cmp_nvim_lsp').default_capabilities()
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
131
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
132 -- ts_ls
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
133 lspconfig.ts_ls.setup({
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
134 capabilities = capabilities,
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
135 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
136 init_options = {
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
137 maxTsServerMemory = 8192,
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
138 preferences = {
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
139 includePackageJsonAutoImports = "auto",
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
140 },
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
141 },
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
142 filetypes = { "typescript", "typescriptreact", "javascript", "javascriptreact" },
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
143 settings = {
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
144 typescript = {
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
145 inlayHints = {
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
146 includeInlayParameterNameHints = "all",
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
147 includeInlayParameterNameHintsWhenArgumentMatchesName = false,
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
148 includeInlayFunctionParameterTypeHints = true,
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
149 includeInlayVariableTypeHints = true,
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
150 includeInlayPropertyDeclarationTypeHints = true,
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
151 includeInlayFunctionLikeReturnTypeHints = true,
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
152 includeInlayEnumMemberValueHints = true,
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 },
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
155 },
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
156
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
157 -- 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
158 on_attach = function(client, bufnr)
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
159 -- Optional: show when LSP attaches
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
160 print("ts_ls attached to " .. vim.fn.getcwd())
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
161 end,
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
162 })
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
163
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
164 -- Python
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
165 lspconfig.basedpyright.setup({
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
166 capabilities = capabilities,
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
167 on_attach = function(client, bufnr)
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
168 -- Optional: notify when Python LSP attaches
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
169 print("basedpyright attached to " .. vim.fn.getcwd())
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
170
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
171 -- 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
172 -- local bufopts = { noremap = true, silent = true, buffer = bufnr }
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
173 -- 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
174 -- 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
175 -- 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
176 -- 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
177 -- 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
178 -- 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
179 -- 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
180 -- 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
181 end,
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
182 settings = {
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
183 basedpyright = {
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
184 analysis = {
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
185 autoSearchPaths = true,
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
186 useLibraryCodeForTypes = true,
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
187 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
188 typeCheckingMode = "standard", -- "strict" if you want maximum strictness
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
189 },
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
190 },
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
191 },
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
192 root_dir = util.root_pattern(
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
193 "venv", -- This is what I mostly use
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
194 "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
195 "setup.py",
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
196 "setup.cfg",
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
197 "requirements.txt",
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
198 ".git"
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
199 ),
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
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
202 EOF
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
203
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
204 " Optional key mappings for LSP
5e6a5d3c6868 [Personal] Moving my vim-set up config here.
MrJuneJune <me@mrjunejune.com>
parents:
diff changeset
205 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
206 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
207 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
208 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
209 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
210 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
211 nnoremap <silent> \ca <cmd>lua vim.lsp.buf.code_action()<CR>