summaryrefslogtreecommitdiff
path: root/lua/config
diff options
context:
space:
mode:
authorLibravatar Mora Unie Youer <[email protected]>2025-03-06 16:21:06 +0300
committerLibravatar Mora Unie Youer <[email protected]>2025-03-06 16:21:06 +0300
commitccdef9f43b27c274efe4711e6c5a2d4fe78e261c (patch)
tree3e94c6b8e5f4e21cce52164557c38e208fe72015 /lua/config
parentfeat: initial commit with nixCats (diff)
downloadneovim-configuration-ccdef9f43b27c274efe4711e6c5a2d4fe78e261c.tar.gz
neovim-configuration-ccdef9f43b27c274efe4711e6c5a2d4fe78e261c.tar.bz2
neovim-configuration-ccdef9f43b27c274efe4711e6c5a2d4fe78e261c.tar.lz
neovim-configuration-ccdef9f43b27c274efe4711e6c5a2d4fe78e261c.tar.xz
neovim-configuration-ccdef9f43b27c274efe4711e6c5a2d4fe78e261c.tar.zst
neovim-configuration-ccdef9f43b27c274efe4711e6c5a2d4fe78e261c.zip
feat: basic proof-of-concept configuration
Diffstat (limited to '')
-rw-r--r--lua/config/init.lua6
-rw-r--r--lua/config/options.lua54
-rw-r--r--lua/config/plugins/extra.lua13
-rw-r--r--lua/config/plugins/init.lua8
-rw-r--r--lua/config/plugins/telescope.lua26
-rw-r--r--lua/config/plugins/treesitter.lua1
6 files changed, 108 insertions, 0 deletions
diff --git a/lua/config/init.lua b/lua/config/init.lua
new file mode 100644
index 0000000..0c5bcb6
--- /dev/null
+++ b/lua/config/init.lua
@@ -0,0 +1,6 @@
+require("config.options")
+
+-- require("lze").register_handlers(require("nixCatsUtils.lzUtils").for_cat)
+require("lze").register_handlers(require("lzextras").lsp)
+
+require("config.plugins")
diff --git a/lua/config/options.lua b/lua/config/options.lua
new file mode 100644
index 0000000..4bdfe21
--- /dev/null
+++ b/lua/config/options.lua
@@ -0,0 +1,54 @@
+-- Leader keys (must be set before loading plugins)
+vim.g.mapleader = " "
+vim.g.maplocalleader = ","
+
+-- Setup clipboard on Wayland
+if os.getenv("WAYLAND_DISPLAY") and vim.fn.exepath("wl-copy") ~= "" then
+ vim.g.clipboard = {
+ name = "wl-clipboard",
+ copy = {
+ ["+"] = "wl-copy",
+ ["*"] = "wl-copy",
+ },
+ paste = {
+ ["+"] = "wl-paste",
+ ["*"] = "wl-paste",
+ },
+ cache_enabled = 1,
+ }
+end
+
+-- Terminal colors
+vim.opt.termguicolors = true
+
+-- Enable undo history
+vim.opt.undofile = true
+
+-- Line numbers
+vim.opt.number = true
+vim.opt.relativenumber = true
+vim.opt.signcolumn = 'yes'
+
+-- Keep N lines above and below cursor
+vim.opt.scrolloff = 5
+
+-- Indentation
+vim.opt.cpoptions:append("I")
+vim.opt.expandtab = true
+vim.opt.tabstop = 2
+vim.opt.softtabstop = 2
+vim.opt.shiftwidth = 2
+
+-- Keymaps
+local map = vim.keymap.set
+
+-- Helix-like keymaps, as they are SO CONVENIENT
+map({ "n", "v" }, "ge", "G", { desc = "Last line" })
+map({ "n", "v" }, "gh", "^", { desc = "First non-whitespace char in line" })
+map({ "n", "v" }, "gH", "0", { desc = "First char in line" })
+map({ "n", "v" }, "gl", "$", { desc = "Last char in line" })
+map({ "n", "v" }, "gm", "%", { desc = "Matching bracket" })
+
+-- Make NeoVim open folds when searching
+map("n", "n", "nzzzv", { desc = 'Next Search Result' })
+map("n", "N", "Nzzzv", { desc = 'Previous Search Result' })
diff --git a/lua/config/plugins/extra.lua b/lua/config/plugins/extra.lua
new file mode 100644
index 0000000..8cf9e70
--- /dev/null
+++ b/lua/config/plugins/extra.lua
@@ -0,0 +1,13 @@
+return {
+ {
+ "which-key.nvim",
+ event = "DeferredUIEnter",
+ after = function(_)
+ require("which-key").setup()
+
+ require("which-key").add({
+ { "<leader>s", group = "search" },
+ })
+ end,
+ },
+}
diff --git a/lua/config/plugins/init.lua b/lua/config/plugins/init.lua
new file mode 100644
index 0000000..7f254ae
--- /dev/null
+++ b/lua/config/plugins/init.lua
@@ -0,0 +1,8 @@
+-- Setup colorscheme
+vim.cmd.colorscheme(nixCats("colorscheme"))
+
+require("lze").load({
+ { import = "config.plugins.telescope" },
+ { import = "config.plugins.treesitter" },
+ { import = "config.plugins.extra" },
+})
diff --git a/lua/config/plugins/telescope.lua b/lua/config/plugins/telescope.lua
new file mode 100644
index 0000000..3f1ee9d
--- /dev/null
+++ b/lua/config/plugins/telescope.lua
@@ -0,0 +1,26 @@
+return {
+ {
+ "telescope.nvim",
+ keys = {
+ {
+ "<leader><leader>",
+ function()
+ require("telescope.builtin").find_files()
+ end,
+ mode = { "n" },
+ desc = "Search Files",
+ },
+ {
+ "<leader>sf",
+ function()
+ require("telescope.builtin").find_files()
+ end,
+ mode = { "n" },
+ desc = "[S]earch [F]iles",
+ },
+ },
+ after = function(_)
+ require("telescope").setup({})
+ end,
+ },
+}
diff --git a/lua/config/plugins/treesitter.lua b/lua/config/plugins/treesitter.lua
new file mode 100644
index 0000000..a564707
--- /dev/null
+++ b/lua/config/plugins/treesitter.lua
@@ -0,0 +1 @@
+return {}