modified Menixvim

This commit is contained in:
megit 2024-03-28 04:31:41 +08:00
parent 82c8025b4e
commit aba3be9b85
9 changed files with 190 additions and 7 deletions

View file

@ -11,13 +11,16 @@
./plugins/bufferline.nix ./plugins/bufferline.nix
./plugins/comment.nix ./plugins/comment.nix
./plugins/fugitive.nix
./plugins/indent-blankline.nix ./plugins/indent-blankline.nix
./plugins/leap.nix ./plugins/leap.nix
./plugins/lsp/lsp.nix
# ./plugins/lsp/conform.nix
./plugins/lualine.nix ./plugins/lualine.nix
./plugins/nvim-tree.nix ./plugins/nvim-tree.nix
./plugins/sleuth.nix
./plugins/telescope.nix ./plugins/telescope.nix
# ./plugins/none-ls/none-ls.nix
./plugins/lsp/lsp.nix
./plugins/extra/vim-rhubarb.nix
]; ];
} }

View file

@ -0,0 +1,6 @@
{ pkgs
, ...}:{
extraPlugins = with pkgs.vimPlugins; [
vim-rhubarb
];
}

View file

@ -0,0 +1,6 @@
{ pkgs
, ...}:{
extraPlugins = with pkgs.vimPlugins; [
vim-sleuth
];
}

View file

@ -0,0 +1,7 @@
{
plugins = {
fugitive = {
enable = true;
};
};
}

View file

@ -2,6 +2,10 @@
plugins = { plugins = {
indent-blankline = { indent-blankline = {
enable = true; enable = true;
settings.indent = {
char = "";
tab_char = "";
};
}; };
}; };
} }

View file

@ -1,12 +1,15 @@
{ {
plugins.leap = { plugins.leap = {
enable = true; enable = true;
addDefaultMappings = false;
}; };
keymaps = [ keymaps = [
{ {
mode = [ "n" "x" "o" ]; mode = [ "n" "x" "o" ];
key = "<leader>ss"; key = "<leader>ss";
action = "function() require('leap').leap { } end"; action = "function() require('leap').leap {} end";
lua = true;
# action = "require('leap').leap";
} }
{ {
mode = [ "n" "x" "o" ]; mode = [ "n" "x" "o" ];

View file

@ -7,6 +7,58 @@
enable = true; enable = true;
capabilities = "offsetEncoding = 'utf-16'"; capabilities = "offsetEncoding = 'utf-16'";
servers = { servers = {
texlab = {
enable = true;
# cmd = ["texlab"];
# filetypes = ["tex" "plaintex" "bib"];
# extraOptions = {
# settings = {
# texlab = {
# auxDirectory = "tex_aux_output";
# rootDirectory = nil;
# build = {
# # -- forwardSearchAfter = true,
# executable = "latexmk";
# args = [
# "-xelatex"
# "-verbose"
# # -- "-outdir=%f_output",
# # -- "-auxdir=%f_aux",
# "-outdir=tex_aux_output"
# "-file-line-error"
# "-synctex=1"
# "-interaction=nonstopmode"
# "-pv"
# "%f"
# ];
# isContinuous = false;
# # -- "onSave = true" failed to work properly with large files like moderncv
# # -- it would not build properly until you delete all the intermediate files
# # -- onSave = true
# };
# # --------------------------------
# # -- END texlab main config
# # -- if used with texmagic, disable this
# # --------------------------------
# # --https://github.com/latex-lsp/texlab/wiki/Previewing
# # -- https://github.com/f3fora/nvim-texlabconfig
# forwardSearch = {
# executable = "zathura";
# args = [
# # -- This is for moving lines in nvim
# "--synctex-editor-command"
# # -- I don't know why but after switching to lazy.vim, need %%% to escape the % character, so "pgrep zathura -a" can see the % sign
# "[[nvim-texlabconfig -file '%%%{input}' -line %%%{line} -server ]] .. vim.v.servername"
# "--synctex-forward"
# "%l:1:%f"
# "%p"
# ];
# };
# diagnosticsDelay = 300;
# };
# };
# };
};
clangd = {enable = true;}; clangd = {enable = true;};
lua-ls = { lua-ls = {
enable = true; enable = true;
@ -58,7 +110,6 @@
eslint = {enable = true;}; eslint = {enable = true;};
pyright = {enable = true;}; pyright = {enable = true;};
ruff-lsp = {enable = true;}; ruff-lsp = {enable = true;};
texlab = {enable = true;};
rust-analyzer = { rust-analyzer = {
enable = true; enable = true;
@ -164,5 +215,97 @@
require('lspconfig.ui.windows').default_options = { require('lspconfig.ui.windows').default_options = {
border = _border border = _border
} }
------------------------------
-- START texmagic, texlab
------------------------------
-- Below this one line is for texmagic only
-- vim.g['tex_flavor'] = 'latex'
require('lspconfig').texlab.setup{
cmd = {"texlab"},
filetypes = {"tex", "plaintex", "bib"},
single_file_support = true,
settings = {
-- https://github.com/latex-lsp/texlab/wiki/Configuration
texlab = {
----------------------------------
-- START for texmagic only
----------------------------------
--
-- build = _G.TeXMagicBuildConfig,
--
----------------------------------
-- END for texmagic only
----------------------------------
--------------------------------
-- START texlab main config
-- if used with texmagic, disable this
--------------------------------
auxDirectory = "tex_aux_output",
rootDirectory = nil,
build = {
-- forwardSearchAfter = true,
executable = "latexmk",
args = {
"-xelatex",
"-verbose",
-- "-outdir=%f_output",
-- "-auxdir=%f_aux",
"-outdir=tex_aux_output",
"-file-line-error",
"-synctex=1",
"-interaction=nonstopmode",
"-pv",
"%f",
},
isContinuous = false,
-- "onSave = true" failed to work properly with large files like moderncv
-- it would not build properly until you delete all the intermediate files
-- onSave = true
},
--------------------------------
-- END texlab main config
-- if used with texmagic, disable this
--------------------------------
--https://github.com/latex-lsp/texlab/wiki/Previewing
-- https://github.com/f3fora/nvim-texlabconfig
forwardSearch = {
executable = "zathura",
args = {
-- This is for moving lines in nvim
'--synctex-editor-command',
-- I don't know why but after switching to lazy.vim, need %%% to escape the % character, so "pgrep zathura -a" can see the % sign
[[nvim-texlabconfig -file '%%%{input}' -line %%%{line} -server ]] .. vim.v.servername,
'--synctex-forward',
'%l:1:%f',
'%p',
},
},
diagnosticsDelay = 300,
}
}
}
-- compile laTeX keymap
vim.keymap.set('n', '<leader>l', ':TexlabBuild<CR>' )
-- forwardSearch
vim.keymap.set('n', '<leader>k', ':TexlabForward<CR>' )
-- if lsp failed to start, start manually
vim.keymap.set('n', '<leader>j', ':LspStart<CR>' )
------------------------------
-- END texmagic, texlab
------------------------------
''; '';
} }

View file

@ -0,0 +1,7 @@
{
plugins = {
sleuth = {
enable = true;
};
};
}

View file

@ -1,7 +1,11 @@
# The line beneath this is called `modeline`. See `:help modeline` # The line beneath this is called `modeline`. See `:help modeline`
# vim: ts=4:sts=0:sw=0:tw=78:noet # vim: ts=4:sts=0:sw=0:noet
{ {
config = { config = {
globals = {
mapleader = " ";
maplocalleader = " ";
};
options = { options = {
relativenumber = true; relativenumber = true;
splitbelow = true; splitbelow = true;
@ -56,7 +60,7 @@
# Decrease update time # Decrease update time
updatetime = 250; updatetime = 250;
timeout = true; timeout = true;
timeoutlen = 300; timeoutlen = 1000; # time of valid keypress like for leader key in millisecond
# Set completeopt to have a better completion experience # Set completeopt to have a better completion experience
completeopt = "menuone,noselect"; completeopt = "menuone,noselect";