Merge branch 'foxora-main'

This commit is contained in:
Dea 2026-02-24 18:00:53 -05:00
commit 76c1bb05ed
9 changed files with 329 additions and 209 deletions

View file

@ -8,7 +8,7 @@ servers.lua_ls = {
},
signatureHelp = { enable = true },
diagnostics = {
globals = { 'nixCats', 'vim' },
globals = { "nixCats", "vim" },
-- disable = { 'missing-fields' },
},
workspace = {
@ -49,21 +49,20 @@ servers.hls = {
settings = {},
}
-- Taken from nixCats example:
-- If you were to comment out this autocommand
-- and instead pass the on attach function directly to
-- nvim-lspconfig, it would do the same thing.
-- come to think of it, it might be better because then lspconfig doesnt have to be called before lsp attach?
-- but you would still end up triggering on a FileType event anyway, so, it makes little difference.
vim.api.nvim_create_autocmd('LspAttach', {
group = vim.api.nvim_create_augroup('nixCats-lsp-attach', { clear = true }),
vim.api.nvim_create_autocmd("LspAttach", {
group = vim.api.nvim_create_augroup("nixCats-lsp-attach", { clear = true }),
callback = function(event)
require('lsp.capabilities').on_attach(vim.lsp.get_client_by_id(event.data.client_id), event.buf)
end
require("lsp.capabilities").on_attach(vim.lsp.get_client_by_id(event.data.client_id), event.buf)
end,
})
require("lze").load {
require("lze").load({
{
"nvim-lspconfig",
event = "FileType",
@ -71,7 +70,7 @@ require("lze").load {
-- Just register configs, don't enable yet
for server_name, cfg in pairs(servers) do
vim.lsp.config(server_name, {
capabilities = require('lsp.capabilities').get(server_name),
capabilities = require("lsp.capabilities").get(server_name),
settings = (cfg or {}).settings,
filetypes = (cfg or {}).filetypes,
cmd = (cfg or {}).cmd,
@ -83,7 +82,7 @@ require("lze").load {
for server_name, cfg in pairs(servers) do
local filetypes = cfg.filetypes or vim.lsp.config[server_name].filetypes
if filetypes then
vim.api.nvim_create_autocmd('FileType', {
vim.api.nvim_create_autocmd("FileType", {
pattern = filetypes,
callback = function()
vim.lsp.enable(server_name)
@ -93,5 +92,4 @@ require("lze").load {
end
end,
},
}
})

View file

@ -0,0 +1,23 @@
return {
{
"comment.nvim",
event = { "BufReadPost", "BufNewFile" },
after = function(plugin)
require("Comment").setup({
toggler = {
line = "<leader>cc",
block = "<leader>bc",
},
opleader = {
line = "<leader>c",
block = "<leader>b",
},
extra = {
above = "<leader>c<S-o>",
below = "<leader>co",
eol = "<leader>cA",
},
})
end,
},
}

View file

@ -0,0 +1,33 @@
-- docs -> https://github.com/stevearc/conform.nvim
return {
{
"conform.nvim",
enabled = nixCats("format") or false,
keys = {
{ "<leader>p", desc = "Format File (pretty :3)" },
},
after = function(plugin)
local conform = require("conform")
conform.setup({
formatters_by_ft = {
lua = nixCats("lang.lua") and { "stylua" } or nil,
nix = nixCats("lang.nix") and { "nixfmt" } or nil,
rust = nixCats("lang.rust") and { "rustfmt", lsp_format = "fallback" } or nil,
haskell = nixCats("lang.haskell") and { "ormolu" } or nil,
},
format_on_save = {
timeout_ms = 500,
},
})
vim.keymap.set({ "n", "v" }, "<leader>p", function()
conform.format({
lsp_fallback = false,
async = false,
timeout_ms = 1000,
})
end, { desc = "Format File (pretty :3)" })
end,
},
}

View file

@ -1,8 +1,10 @@
require("lze").load {
{ import = "plugins.dressing", },
{ import = "plugins.telescope", },
{ import = "plugins.treesitter", },
{ import = "plugins.fyler", },
{ import = "plugins.mini-hipatterns", },
--{ import = "plugins.neocord", },
}
require("lze").load({
{ import = "plugins.dressing" },
{ import = "plugins.telescope" },
{ import = "plugins.treesitter" },
{ import = "plugins.fyler" },
{ import = "plugins.mini-hipatterns" },
{ import = "plugins.orgmode" },
{ import = "plugins.format" },
{ import = "plugins.comment" },
})

View file

@ -1,5 +0,0 @@
return {
{
"neocord",
},
}

View file

@ -0,0 +1,16 @@
# options: https://github.com/nvim-orgmode/orgmode/blob/master/docs/installation.org
return {
{
"nvim-orgmode/orgmode",
event = { "FileType" },
ft = { "org" },
after = function(plugin)
require("orgmode").setup({
org_agenda_files = "~/.orgmode/**/*",
org_default_notes_file = "~/.orgmode/refile.org",
})
vim.lsp.enable("org")
end,
},
}

View file

@ -3,14 +3,56 @@ return {
"telescope.nvim",
cmd = { "Telescope" },
keys = {
{ "<leader>f", function() return require('telescope.builtin').find_files() end, mode = {"n"}, desc = 'Telescope search [F]iles' },
{ "<leader>tr", function() return require('telescope.builtin').oldfiles() end, mode = {"n"}, desc = '[T]elescope search [R]ecent files' },
{ "<leader>ts", function() return require('telescope.builtin').live_grep() end, mode = {"n"}, desc = '[T]elescope [S]earch cwd with grep' },
{ "<leader>tw", function() return require('telescope.builtin').grep_string() end, mode = {"n"}, desc = '[T]elescope search current [W]ord' },
{ "<leader>tk", function() return require('telescope.builtin').keymaps() end, mode = {"n"}, desc = '[T]elescope search [K]eymaps' },
{ "<leader>tb", function() return require('telescope.builtin').buffers() end, mode = {"n"}, desc = '[T]elescope search [B]uffers' },
{
"<leader>f",
function()
return require("telescope.builtin").find_files()
end,
mode = { "n" },
desc = "Telescope search [F]iles",
},
load = function (name)
{
"<leader>tr",
function()
return require("telescope.builtin").oldfiles()
end,
mode = { "n" },
desc = "[T]elescope search [R]ecent files",
},
{
"<leader>ts",
function()
return require("telescope.builtin").live_grep()
end,
mode = { "n" },
desc = "[T]elescope [S]earch cwd with grep",
},
{
"<leader>tw",
function()
return require("telescope.builtin").grep_string()
end,
mode = { "n" },
desc = "[T]elescope search current [W]ord",
},
{
"<leader>tk",
function()
return require("telescope.builtin").keymaps()
end,
mode = { "n" },
desc = "[T]elescope search [K]eymaps",
},
{
"<leader>tb",
function()
return require("telescope.builtin").buffers()
end,
mode = { "n" },
desc = "[T]elescope search [B]uffers",
},
},
load = function(name)
vim.cmd.packadd(name)
vim.cmd.packadd("telescope-fzf-native.nvim")
end,
@ -18,17 +60,17 @@ return {
local telescope = require("telescope")
local actions = require("telescope.actions")
telescope.setup {
telescope.setup({
defaults = {
mappings = {
i = {
["<C-k>"] = actions.move_selection_previous, -- move to prev result
["<C-j>"] = actions.move_selection_next, -- move to next result
["<C-q>"] = actions.send_selected_to_qflist + actions.open_qflist
}
}
}
}
["<C-q>"] = actions.send_selected_to_qflist + actions.open_qflist,
},
},
},
})
pcall(telescope.load_extension, "fzf")
end,

View file

@ -5,7 +5,7 @@ return {
{
"nvim-treesitter",
lazy = false,
after = function (plugin)
after = function(plugin)
--@param buf integer
--@param language string
local function treesitter_try_attach(buf, language)
@ -58,33 +58,33 @@ return {
vim.g.no_plugin_maps = true
end,
after = function(plugin)
require("nvim-treesitter-textobjects").setup {
require("nvim-treesitter-textobjects").setup({
select = {
lookahead = true,
selection_modes = {
['@parameter.outer'] = 'v', -- charwise
['@function.outer'] = 'V', -- linewise
["@parameter.outer"] = "v", -- charwise
["@function.outer"] = "V", -- linewise
},
include_surrounding_whitespace = false,
},
}
})
-- keymaps
vim.keymap.set({ "x", "o" }, "am", function()
require "nvim-treesitter-textobjects.select".select_textobject("@function.outer", "textobjects")
require("nvim-treesitter-textobjects.select").select_textobject("@function.outer", "textobjects")
end)
vim.keymap.set({ "x", "o" }, "im", function()
require "nvim-treesitter-textobjects.select".select_textobject("@function.inner", "textobjects")
require("nvim-treesitter-textobjects.select").select_textobject("@function.inner", "textobjects")
end)
vim.keymap.set({ "x", "o" }, "ac", function()
require "nvim-treesitter-textobjects.select".select_textobject("@class.outer", "textobjects")
require("nvim-treesitter-textobjects.select").select_textobject("@class.outer", "textobjects")
end)
vim.keymap.set({ "x", "o" }, "ic", function()
require "nvim-treesitter-textobjects.select".select_textobject("@class.inner", "textobjects")
require("nvim-treesitter-textobjects.select").select_textobject("@class.inner", "textobjects")
end)
-- You can also use captures from other query groups like `locals.scm`
vim.keymap.set({ "x", "o" }, "as", function()
require "nvim-treesitter-textobjects.select".select_textobject("@local.scope", "locals")
require("nvim-treesitter-textobjects.select").select_textobject("@local.scope", "locals")
end)
-- NOTE: for more textobjects options, see the following link.

View file

@ -58,14 +58,17 @@ in
lang = with pkgs; {
lua = [
lua-language-server
stylua
];
nix = [
nil
nix-doc
nixfmt
];
rust = with pkgs; [
cargo
rust-analyzer
rustfmt
];
haskell = with pkgs; [
haskell-language-server
@ -82,7 +85,6 @@ in
nvim-web-devicons
base16-nvim
mini-nvim
orgmode
(pkgs.vimUtils.buildVimPlugin {
pname = "candyland-nvim";
@ -100,28 +102,29 @@ in
nvim-treesitter.withAllGrammars
];
};
optionalPlugins = {
general = with pkgs.vimPlugins; [
optionalPlugins = with pkgs.vimPlugins; {
general = [
orgmode
];
ui = with pkgs.vimPlugins; [
ui = [
dressing-nvim
];
qol = with pkgs.vimPlugins; [
qol = [
undotree
mini-hipatterns
];
telescope = with pkgs.vimPlugins; [
telescope = [
telescope-nvim
telescope-fzf-native-nvim
telescope-ui-select-nvim
];
fyler = with pkgs.vimPlugins; [
fyler = [
fyler-nvim
];
lsp = with pkgs.vimPlugins; [
lsp = [
nvim-lspconfig
];
completion = with pkgs.vimPlugins; [
completion = [
blink-cmp
nvim-cmp
luasnip
@ -136,7 +139,13 @@ in
cmp-cmdline-history
lspkind-nvim
];
lang = with pkgs.vimPlugins; {
format = [
conform-nvim
];
comment = [
comment-nvim
];
lang = {
};
};
@ -187,6 +196,8 @@ in
fyler = true;
lsp = true;
completion = true;
format = true;
comment = true;
treesitter = true;
lang = {