Neovim: Add LaTeX specific localleader mappings
This commit is contained in:
@ -99,15 +99,18 @@ in {
|
|||||||
|
|
||||||
globals = {
|
globals = {
|
||||||
mapleader = " ";
|
mapleader = " ";
|
||||||
|
maplocalleader = ",";
|
||||||
# TODO: Set this differntly and actually move local keybindings to this, e.g. for LaTeX
|
|
||||||
mallocalleader = " ";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
opts = import ./vim_opts.nix {inherit lib mylib;};
|
opts = import ./vim_opts.nix {inherit lib mylib;};
|
||||||
extraConfigLuaPost = builtins.readFile ./extraConfigLuaPost.lua;
|
extraConfigLuaPost = builtins.readFile ./extraConfigLuaPost.lua;
|
||||||
extraConfigLua = builtins.readFile ./extraConfigLua.lua;
|
extraConfigLua = builtins.readFile ./extraConfigLua.lua;
|
||||||
|
|
||||||
|
extraFiles = {
|
||||||
|
# For this its probably important to set the default filetype to tex (see extraConfigLua)
|
||||||
|
"ftplugin/tex.lua".text = mylib.generators.toLuaKeymap (import ./mappings_latex.nix {});
|
||||||
|
};
|
||||||
|
|
||||||
# extraLuaPackages = with pkgs.lua51Packages; [];
|
# extraLuaPackages = with pkgs.lua51Packages; [];
|
||||||
# extraPython3Packages = p: [];
|
# extraPython3Packages = p: [];
|
||||||
|
|
||||||
@ -1585,6 +1588,7 @@ in {
|
|||||||
pkg = pkgs.vimPlugins.vimtex;
|
pkg = pkgs.vimPlugins.vimtex;
|
||||||
init = ''
|
init = ''
|
||||||
function()
|
function()
|
||||||
|
vim.g.vimtex_mappings_enabled = false
|
||||||
vim.g.vimtex_view_method = "zathura"
|
vim.g.vimtex_view_method = "zathura"
|
||||||
vim.g.vimtex_compiler_latexmk = {
|
vim.g.vimtex_compiler_latexmk = {
|
||||||
options = {
|
options = {
|
||||||
|
@ -2,6 +2,9 @@
|
|||||||
require("lazy.core.config").options.ui.border = "rounded"
|
require("lazy.core.config").options.ui.border = "rounded"
|
||||||
require("lazy.core.config").options.rocks.enabled = false
|
require("lazy.core.config").options.rocks.enabled = false
|
||||||
|
|
||||||
|
-- Default filetype to tex instead of plaintex
|
||||||
|
vim.g.tex_flavor = "latex"
|
||||||
|
|
||||||
-- Toggle inline diagnostics and show border
|
-- Toggle inline diagnostics and show border
|
||||||
vim.g.enable_inline_diagnostics = false
|
vim.g.enable_inline_diagnostics = false
|
||||||
vim.diagnostic.config({
|
vim.diagnostic.config({
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
{...}: let
|
{...}: let
|
||||||
|
# TODO: Doesn't work reliably. I think they are rebound by plugins after? Try setting in extraConfigLuaPost...
|
||||||
disabled-mappings = let
|
disabled-mappings = let
|
||||||
mkDisabledMapping = mapping: {
|
mkDisabledMapping = mapping: {
|
||||||
|
mode = ["n" "v"];
|
||||||
key = mapping;
|
key = mapping;
|
||||||
action = "<Nop>";
|
action = "<Nop>";
|
||||||
};
|
};
|
||||||
@ -11,6 +13,14 @@
|
|||||||
"S"
|
"S"
|
||||||
"t"
|
"t"
|
||||||
"T"
|
"T"
|
||||||
|
|
||||||
|
# Use flash to repeat f/F instead of ;/,
|
||||||
|
# ;/, are now free for localleader and exiting visual mode like helix
|
||||||
|
","
|
||||||
|
";"
|
||||||
|
|
||||||
|
# Use Telescope on "/", I don't want backwards search
|
||||||
|
"?"
|
||||||
];
|
];
|
||||||
in
|
in
|
||||||
builtins.map mkDisabledMapping disableMappings;
|
builtins.map mkDisabledMapping disableMappings;
|
||||||
@ -247,6 +257,12 @@
|
|||||||
action = "<cmd>Telescope current_buffer_fuzzy_find<cr>";
|
action = "<cmd>Telescope current_buffer_fuzzy_find<cr>";
|
||||||
options.desc = "Grep Buffer";
|
options.desc = "Grep Buffer";
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
mode = "v";
|
||||||
|
key = ";";
|
||||||
|
action = "<Esc>";
|
||||||
|
options.desc = "Exit Visual Mode";
|
||||||
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
leader = [
|
leader = [
|
||||||
@ -588,12 +604,12 @@
|
|||||||
action = "<cmd>:set wrap!<cr>";
|
action = "<cmd>:set wrap!<cr>";
|
||||||
options.desc = "Word Wrapping";
|
options.desc = "Word Wrapping";
|
||||||
}
|
}
|
||||||
{
|
# {
|
||||||
mode = "n";
|
# mode = "n";
|
||||||
key = "<leader>tv";
|
# key = "<leader>tv";
|
||||||
action = "<cmd>VimtexTocToggle<cr>";
|
# action = "<cmd>VimtexTocToggle<cr>";
|
||||||
options.desc = "VimTex ToC";
|
# options.desc = "VimTex ToC";
|
||||||
}
|
# }
|
||||||
];
|
];
|
||||||
|
|
||||||
leader-git = [
|
leader-git = [
|
||||||
@ -679,19 +695,32 @@
|
|||||||
action = "<cmd>lua vim.lsp.buf.rename()<cr>";
|
action = "<cmd>lua vim.lsp.buf.rename()<cr>";
|
||||||
options.desc = "Rename Symbol";
|
options.desc = "Rename Symbol";
|
||||||
}
|
}
|
||||||
{
|
|
||||||
mode = "n";
|
|
||||||
key = "<leader>ca";
|
|
||||||
action = "<cmd>lua vim.lsp.buf.code_action()<cr>";
|
|
||||||
options.desc = "Code Actions";
|
|
||||||
}
|
|
||||||
# {
|
# {
|
||||||
# mode = "n";
|
# mode = "n";
|
||||||
# key = "<leader>cr";
|
# key = "<leader>cr";
|
||||||
# action = ":IncRename ";
|
# action = ":IncRename ";
|
||||||
# options.desc = "Rename LSP symbol";
|
# options.desc = "Rename LSP symbol";
|
||||||
# }
|
# }
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "<leader>ca";
|
||||||
|
action = "<cmd>lua vim.lsp.buf.code_action()<cr>";
|
||||||
|
options.desc = "Code Actions";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "<leader>cI";
|
||||||
|
action = "<cmd>Telescope lsp_incoming_calls<cr>";
|
||||||
|
options.desc = "Incoming Calls";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "<leader>cO";
|
||||||
|
action = "<cmd>Telescope lsp_outgoing_calls<cr>";
|
||||||
|
options.desc = "Outgoing Calls";
|
||||||
|
}
|
||||||
|
|
||||||
|
# GoTo
|
||||||
{
|
{
|
||||||
mode = "n";
|
mode = "n";
|
||||||
key = "<leader>cg";
|
key = "<leader>cg";
|
||||||
@ -729,22 +758,37 @@
|
|||||||
}
|
}
|
||||||
{
|
{
|
||||||
mode = "n";
|
mode = "n";
|
||||||
key = "<leader>cI";
|
key = "<leader>cge";
|
||||||
action = "<cmd>Telescope lsp_incoming_calls<cr>";
|
action = "<cmd>lua vim.diagnostic.goto_next()<cr>";
|
||||||
options.desc = "Incoming Calls";
|
options.desc = "Next Error";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
mode = "n";
|
mode = "n";
|
||||||
key = "<leader>cO";
|
key = "<C-e>";
|
||||||
action = "<cmd>Telescope lsp_outgoing_calls<cr>";
|
action = "<cmd>lua vim.diagnostic.goto_next()<cr>";
|
||||||
options.desc = "Outgoing Calls";
|
options.desc = "Next Error";
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "<leader>cgE";
|
||||||
|
action = "<cmd>lua vim.diagnostic.goto_prev()<cr>";
|
||||||
|
options.desc = "Previous Error";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "<C-S-e>";
|
||||||
|
action = "<cmd>lua vim.diagnostic.goto_prev()<cr>";
|
||||||
|
options.desc = "Previous Error";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
localleader-latex = [
|
||||||
];
|
];
|
||||||
in
|
in
|
||||||
builtins.concatLists [
|
builtins.concatLists [
|
||||||
disabled-mappings
|
disabled-mappings
|
||||||
|
|
||||||
no-leader
|
no-leader
|
||||||
|
|
||||||
leader
|
leader
|
||||||
leader-help
|
leader-help
|
||||||
leader-quit
|
leader-quit
|
||||||
@ -754,4 +798,6 @@ in
|
|||||||
leader-toggles
|
leader-toggles
|
||||||
leader-git
|
leader-git
|
||||||
leader-code
|
leader-code
|
||||||
|
|
||||||
|
localleader-latex
|
||||||
]
|
]
|
||||||
|
@ -3,6 +3,48 @@
|
|||||||
mode = "n";
|
mode = "n";
|
||||||
key = "<localleader>t";
|
key = "<localleader>t";
|
||||||
action = "<cmd>VimtexTocToggle<cr>";
|
action = "<cmd>VimtexTocToggle<cr>";
|
||||||
options.desc = "VimTex ToC";
|
options.desc = "Vimtex ToC";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "<localleader>c";
|
||||||
|
action = "<cmd>VimtexCompile<cr>";
|
||||||
|
options.desc = "Vimtex Compile";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "<localleader>C";
|
||||||
|
action = "<cmd>VimtexClean!<cr>";
|
||||||
|
options.desc = "Vimtex Clean";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "<localleader>v";
|
||||||
|
action = "<cmd>VimtexView<cr>";
|
||||||
|
options.desc = "Vimtex View";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "<localleader>I";
|
||||||
|
action = "<cmd>VimtexInfo<cr>";
|
||||||
|
options.desc = "Vimtex Info";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "<localleader>,";
|
||||||
|
action = "<cmd>VimtexContextMenu<cr>";
|
||||||
|
options.desc = "Vimtex Context Menu";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "<localleader>e";
|
||||||
|
action = "<cmd>VimtexErrors<cr>";
|
||||||
|
options.desc = "Vimtex Errors";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "<localleader>p";
|
||||||
|
action = "<cmd>VimtexDocPackage<cr>";
|
||||||
|
options.desc = "Vimtex Package Docs";
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
@ -46,4 +46,17 @@
|
|||||||
else if (args == null)
|
else if (args == null)
|
||||||
then "nil"
|
then "nil"
|
||||||
else "";
|
else "";
|
||||||
|
|
||||||
|
toLuaKeymap = args: let
|
||||||
|
removeDeprecatedMapAttrs = v: builtins.removeAttrs v ["lua"];
|
||||||
|
in ''
|
||||||
|
-- Set up keybinds using mylib.generators.toLuaKeymap {{{
|
||||||
|
do
|
||||||
|
local __nixvim_binds = ${toLuaObject (map removeDeprecatedMapAttrs args)}
|
||||||
|
for i, map in ipairs(__nixvim_binds) do
|
||||||
|
vim.keymap.set(map.mode, map.key, map.action, map.options)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
-- }}}
|
||||||
|
'';
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user