diff --git a/flake.nix b/flake.nix index 6a19d0f..cce0958 100644 --- a/flake.nix +++ b/flake.nix @@ -139,7 +139,6 @@ general = with pkgs.vimPlugins; [ nvim-autopairs nvim-lspconfig - intellitab-nvim which-key-nvim telescope-nvim markdown-preview-nvim diff --git a/lua/keymaps.lua b/lua/keymaps.lua index 9ee8c09..072973a 100644 --- a/lua/keymaps.lua +++ b/lua/keymaps.lua @@ -1,5 +1,5 @@ --- Non-exhaustive collection of keymaps. I've decided it's more sane to place --- plugin specific maps in their respective setup scripts +-- Mostly remaps of existing keys. New keybinds are generally defined directly +-- in their plugin specs for `lz.n` vim.g.mapleader = " " vim.keymap.set("n", "", "") @@ -22,8 +22,6 @@ vim.keymap.set({ "n", "v" }, "Y", '"+Y', { desc = "yank rest of line to vim.keymap.set({ "n", "v" }, "p", '"+p', { desc = "put after cursor from clipboard" }) vim.keymap.set({ "n", "v" }, "P", '"+P', { desc = "put before cursor from clipboard" }) -vim.keymap.set("i", "", require("scripts.intellitab").indent) - -- Allow increment/decrement repeatedly in visual vim.keymap.set("v", "", "gv") vim.keymap.set("v", "", "gv") diff --git a/lua/scripts/intellitab.lua b/lua/scripts/intellitab.lua deleted file mode 100644 index 9e56790..0000000 --- a/lua/scripts/intellitab.lua +++ /dev/null @@ -1,72 +0,0 @@ --- `intellitab.nvim` by Pedro Alves (https://github.com/pta2002) --- URL: https://github.com/pta2002/intellitab.nvim?tab=MIT-1-ov-file --- Copyright 2021 Pedro Alves. Licensed under MIT. - -local v = vim.api - -local treesitter = require("nvim-treesitter") - -local function get_line_indent(line, sw) - local indent = 0 - - for c in line:gmatch("%s") do - if c == "\t" then - indent = indent + sw - else - indent = indent + 1 - end - end - - return indent -end - -local function indent() - local cursor = v.nvim_win_get_cursor(0) - local line = v.nvim_buf_get_lines(0, cursor[1] - 1, cursor[1], false)[1] - - local indentexpr = v.nvim_get_option_value("indentexpr", { buf = 0 }) - local expand = v.nvim_get_option_value("expandtab", { buf = 0 }) - local shiftwidth = v.nvim_eval("shiftwidth()") - local tab_char = v.nvim_replace_termcodes("", true, true, true) - local indent_goal - - if treesitter ~= nil and treesitter.get_indent ~= nil then - indent_goal = treesitter.get_indent(line) - end - - if indent_goal == nil or indent_goal < 0 then - if indentexpr ~= "" then - indent_goal = v.nvim_eval(indentexpr) - elseif v.nvim_get_option_value("cindent", { buf = 0 }) then - indent_goal = v.nvim_call_function("cindent", { cursor[1] }) - else - indent_goal = v.nvim_call_function("indent", { cursor[1] }) - end - end - - if indent_goal == -1 and cursor[1] ~= 1 then - local prev_line = v.nvim_buf_get_lines(0, cursor[1] - 2, cursor[1] - 1, false)[1] - indent_goal = get_line_indent(prev_line, shiftwidth) - end - - -- Reset the cursor, since the functions are free to move it - v.nvim_win_set_cursor(0, cursor) - - if cursor[2] == 0 and line == "" and indent_goal ~= nil and indent_goal > 0 then - local i = 0 - while i < indent_goal do - if expand then - v.nvim_feedkeys(" ", "n", true) - i = i + 1 - else - v.nvim_feedkeys(tab_char, "n", true) - i = i + shiftwidth - end - end - print(i, indent_goal) - else - v.nvim_feedkeys(tab_char, "n", true) - end -end - -return { indent = indent }