HWLVSY6UL5VDMK7NLQB2LJYEHV6KNKP4QIUWJKYTKKYW3L5ZLQBAC
JTTWOADMNTGEUL5TBJSC5PEXSW6GMBZLY6TWLN2DHV26REVMZOZAC
ULKBUZEBFCZOZ5BTUW6262LG5DK6BUOVN6STTKCFLZFG3EE6PFPAC
H4OOXBFAXCDFVBOEDE4HOO4NU5IDRAVFLTTHRNCX3APU4SPMMA5QC
UNMO22GQRCYHMIXPFTZTQVVPCOFSBVU2YV5CKLO72ZRDZ2AJ46WQC
QWJ5FBQ7ZL75GTXLYEVPTLK7AEMBMBEYE7536WFLGINTG332LAIAC
AD3GGMJYYDKYXMTBCQK7IHKTVSM75XFTBHZSMFXFAQYWSPRHSCBAC
5U2BEZGMRUSG3OQM3VGNF3XINPCKRLGU7CJJDUVRHHORN3IED2HQC
# defx file containing the tree expansion state
.defx-session
" allow window switching and text selection w/ a mouse
set mouse=a
" use LSP whenever possible, but keep the default as ctags
" there seems to be some stability issues when trying the finder using nvim_lsp
" on a file that doesn't have a language server
let g:vista_executive_for = {
\ 'rust': 'nvim_lsp',
\ 'go': 'nvim_lsp',
\ 'python': 'nvim_lsp',
\ 'cpp': 'nvim_lsp',
\ 'c': 'nvim_lsp',
\ 'typescript': 'nvim_lsp',
\ 'javascript': 'nvim_lsp'
\ }
" disable the cursor blink that occurs when jumping to a symbol w/ vista
let g:vista_blink = [0, 0]
" the vista coloration is really erratic for some reason
let g:vista_keep_fzf_colors = 1
" there are already markers for the symbol types
let g:vista#renderer#enable_icon = 0
let g:vista_fzf_preview = ['right:40%']
" (2020-03-05) rust_analyzer isn't quite ready for prime-time
" lua require'nvim_lsp'.rust_analyzer.setup({on_init = require'ncm2'.register_lsp_source})
lua require'nvim_lsp'.rls.setup{on_init = require'ncm2'.register_lsp_source}
lua require'nvim_lsp'.rust_analyzer.setup({on_init = require'ncm2'.register_lsp_source})
" lua require'nvim_lsp'.rls.setup{on_init = require'ncm2'.register_lsp_source}
augroup defx_configuration
autocmd!
autocmd FileType defx call s:defx_my_settings()
autocmd BufLeave,BufWinLeave \[defx\]* call defx#call_action('add_session')
augroup END
" autocmd FileType defx call s:defx_my_settings()
function! s:defx_my_settings() abort
" I like line numbers, and defx disables them by default
set number relativenumber
" Define mappings
nnoremap <silent><buffer><expr> <cr>
\ defx#is_directory() ?
\ defx#do_action('open_tree', ['toggle', 'nested']) :
\ defx#do_action('open')
nnoremap <silent><buffer><expr> o
\ defx#do_action('open')
nnoremap <silent><buffer><expr> c
\ defx#do_action('copy')
nnoremap <silent><buffer><expr> m
\ defx#do_action('move')
nnoremap <silent><buffer><expr> p
\ defx#do_action('paste')
nnoremap <silent><buffer><expr> P
\ defx#do_action('preview')
nnoremap <silent><buffer><expr> D
\ defx#do_action('new_directory')
nnoremap <silent><buffer><expr> i
\ defx#do_action('new_file')
nnoremap <silent><buffer><expr> I
\ defx#do_action('new_multiple_files')
nnoremap <silent><buffer><expr> C
\ defx#do_action('toggle_columns',
\ 'mark:indent:icon:filename:type')
nnoremap <silent><buffer><expr> S
\ defx#do_action('toggle_sort', 'time')
nnoremap <silent><buffer><expr> d
\ defx#do_action('remove')
nnoremap <silent><buffer><expr> r
\ defx#do_action('rename')
nnoremap <silent><buffer><expr> !
\ defx#do_action('execute_command')
nnoremap <silent><buffer><expr> x
\ defx#do_action('execute_system')
nnoremap <silent><buffer><expr> yy
\ defx#do_action('yank_path')
nnoremap <silent><buffer><expr> .
\ defx#do_action('toggle_ignored_files')
nnoremap <silent><buffer><expr> ;
\ defx#do_action('repeat')
nnoremap <silent><buffer><expr> u
\ defx#do_action('cd', ['..'])
nnoremap <silent><buffer><expr> ~
\ defx#do_action('cd')
nnoremap <silent><buffer><expr> q
\ defx#do_action('quit')
nnoremap <silent><buffer><expr> s
\ defx#do_action('toggle_select') . 'j'
nnoremap <silent><buffer><expr> *
\ defx#do_action('toggle_select_all')
nnoremap <silent><buffer><expr> j
\ line('.') == line('$') ? 'gg' : 'j'
nnoremap <silent><buffer><expr> k
\ line('.') == 1 ? 'G' : 'k'
" nnoremap <silent><buffer><expr> cd
" \ defx#do_action('change_vim_cwd')
endfunction
" let g:LanguageClient_waitOutputTimeout = 60
" let g:LanguageClient_serverCommands = {
" \ 'c': ['clangd'],
" \ 'cpp': ['clangd'],
" \ 'python': ['python3', '-m', 'pyls'],
" \ 'rust': ['~/.cargo/bin/rls'],
" \ 'rust': ['~/.cargo/bin/rust-analyzer'],
" \ 'typescript': ['typescript-language-server', '--stdio'],
" \ 'javascript': ['typescript-language-server', '--stdio'],
" \ 'cs': [expand('~/bin/omnisharp/logged-runner.sh'), '--languageserver']
" \ }
" get rid of the gutter error indicators - I use the gutter for git,
" and I already have the virtual text
" let g:LanguageClient_diagnosticsSignsMax = 0
" store language server logs
" let g:LanguageClient_loggingFile = expand('~/.local/share/nvim/language-client.log')