From 3841a308774e4d64b21435f52dc130fd4ff4cfc7 Mon Sep 17 00:00:00 2001 From: jimrothstein Date: Mon, 4 Dec 2023 12:46:56 -0800 Subject: [PATCH] Nvim-R recognizes ft automatically, do not need to adjust --- lua/jim/Nvim-R.lua | 51 ++++++++++++++++++++++++--------------------- lua/jim/config.lua | 2 -- lua/jim/keymaps.lua | 4 +--- lua/jim/options.lua | 2 +- 4 files changed, 29 insertions(+), 30 deletions(-) diff --git a/lua/jim/Nvim-R.lua b/lua/jim/Nvim-R.lua index 9aa384b5..8c1875dd 100644 --- a/lua/jim/Nvim-R.lua +++ b/lua/jim/Nvim-R.lua @@ -1,32 +1,35 @@ -- [[ Nvim-R ]] +-- NOTES +-- - Nvim-R will detect *.R, *.Rmd, *.qmd files on its own +-- These are 3 distinct file types +-- REF: https://github.com/jalvesaq/Nvim-R/issues/724 +-- - "The pattern to recognize chunks of R code in Rmd files is hardcoded in Nvim-R/ftplugin/rmd_nvimr.vim, Nvim-R/R/start_r.vim, R-Vim-runtime/syntax/rmd.vim, and R-Vim-runtime/indent/rmd.vim" +-- - ~/.local/share/nvim/lazy/Nvim-R/ +-- vim.cmd([[ let R_args= ['--no-save', '--quiet'] ]]) -- minimize startup vim.cmd([[ let R_assign=2 ]]) -- underline becomes left arrow vim.cmd([[ let R_enable_comment=1 ]]) -- toggle comments with xx --- seems to work --- vim.cmd([[ let R_filetypes = ['r', 'rmd', 'rrst', 'rnoweb', 'quarto', 'rhelp'] ]]) + vim.cmd([[let g:LanguageClient_serverCommands = { - \ 'r': ['R', '--slave', '-e', 'languageserver::run()'], - \ } -]]) - -vim.cmd([[ -" autocmd FileType r x :RStop -]]) - -vim.cmd([[ -" autocmd BufRead, BufNewFile *.r *.qmd *.rmd setlocal filetype = r + \ 'r': ['R', '--slave', '-e', 'languageserver::run()'], + \ } ]]) + vim.cmd([[ -function! s:customNvimRMappings() - nmap sr RStart -" imap sr RStart -" vmap sr RStart -" nnoremap xxx ":call SendRmdChunkToR('echo', 'down')" - nmap wwww ":echo 'hi'" - endfunction - augroup myNvimR - au! - autocmd filetype r call s:customNvimRMappings() - augroup end -]]) + " autocmd FileType r x :RStop + ]]) + +vim.cmd([[ + function! s:customNvimRMappings() + nmap sr RStart + " imap sr RStart + " vmap sr RStart + " nnoremap xxx ":call SendRmdChunkToR('echo', 'down')" + nmap wwww ":echo 'hi'" + endfunction + augroup myNvimR + au! + autocmd filetype r call s:customNvimRMappings() + augroup end + ]]) diff --git a/lua/jim/config.lua b/lua/jim/config.lua index 055bb699..66dea399 100644 --- a/lua/jim/config.lua +++ b/lua/jim/config.lua @@ -107,8 +107,6 @@ require('lazy').setup({ on_attach = function(bufnr) vim.keymap.set('n', 'gp', require('gitsigns').prev_hunk, { buffer = bufnr, desc = '[G]o to [P]revious Hunk' }) - -- jr: next line overrides Nvim-R g next chunk; how to change? - -- vim.keymap.set('n', 'gn', require('gitsigns').next_hunk, { buffer = bufnr, desc = '[G]o to [N]ext Hunk' }) vim.keymap.set('n', 'ph', require('gitsigns').preview_hunk, { buffer = bufnr, desc = '[P]review [H]unk' }) end, }, diff --git a/lua/jim/keymaps.lua b/lua/jim/keymaps.lua index 37b8124b..0ac80e3a 100644 --- a/lua/jim/keymaps.lua +++ b/lua/jim/keymaps.lua @@ -137,10 +137,8 @@ local mappings = { z2 = { 'pAjunk', 'other window junk' }, rk = { ':RKill', 'RKill , but not guaranteed to close terminal' }, - -- can not find function - -- rcd = { ':call SendRmdChunktoR("echo", "down")', 'Chunk Down' }, - ck = { ':e ~/.config/kickstart/init.lua', '[ck] Edit KICKSTART config' }, + cs = { ':e ~/.config/kickstart/lua/jim/keymaps.lua', '[ck] Edit KICKSTART keymaps' }, cr = { ':e ~/.config/kickstart/lua/jim/Nvim-R.lua', '[cr] Edit Nvim-R config' }, } diff --git a/lua/jim/options.lua b/lua/jim/options.lua index bf3a4c4d..e977ba08 100644 --- a/lua/jim/options.lua +++ b/lua/jim/options.lua @@ -36,7 +36,7 @@ vim.o.mouse = 'a' vim.o.clipboard = 'unnamedplus' -- Enable break indent (windows) -vim.w.breakindent = true +vim.wo.breakindent = true -- Hitting (experimnetal) --