Compare commits

..

8 commits

63 changed files with 152 additions and 155 deletions

View file

@ -1 +1 @@
require("fschauen.util.options").set_gitcommit_buffer_options() require("util.options").set_gitcommit_buffer_options()

View file

@ -1 +1 @@
require("fschauen.util.options").set_gitcommit_buffer_options() require("util.options").set_gitcommit_buffer_options()

View file

@ -1,6 +1,6 @@
vim.bo.tabstop = 2 vim.bo.tabstop = 2
local lua = require("fschauen.util.lua") local lua = require("util.lua")
local map = vim.keymap.set local map = vim.keymap.set
local opts = function(desc) return { desc = desc, buffer = true, silent = true } end local opts = function(desc) return { desc = desc, buffer = true, silent = true } end

View file

@ -1,3 +1,3 @@
if vim.loader then vim.loader.enable() end if vim.loader then vim.loader.enable() end
require("fschauen") require("config")

View file

@ -1,7 +1,7 @@
local M = {} local M = {}
M.setup = function() M.setup = function()
local group = vim.api.nvim_create_augroup("fschauen", { clear = true }) local group = vim.api.nvim_create_augroup("custom", { clear = true })
vim.api.nvim_create_autocmd("TextYankPost", { vim.api.nvim_create_autocmd("TextYankPost", {
desc = "Briefly highlight yanked text.", desc = "Briefly highlight yanked text.",

View file

@ -19,7 +19,7 @@ end
---@param bufnr integer|nil: Buffer number (0 for current buffer, nil for all buffers. ---@param bufnr integer|nil: Buffer number (0 for current buffer, nil for all buffers.
M.hide = function(bufnr) vim.diagnostic.hide(nil, bufnr or 0) end M.hide = function(bufnr) vim.diagnostic.hide(nil, bufnr or 0) end
local icons = require("fschauen.util.icons") local icons = require("util.icons")
---Use `Telescope` to set a new diagnostic severity. ---Use `Telescope` to set a new diagnostic severity.
M.set_severity = function() M.set_severity = function()

View file

@ -8,12 +8,12 @@ R = function(module)
return require(module) return require(module)
end end
require("fschauen.options").setup() require("config.options").setup()
require("fschauen.keymap").setup() require("config.keymap").setup()
require("fschauen.diagnostic").setup() require("config.diagnostic").setup()
require("fschauen.autocmd").setup() require("config.autocmd").setup()
require("fschauen.filetype").setup() require("config.filetype").setup()
require("fschauen.lazy").setup() require("config.lazy").setup()
local colorscheme = vim.env.NVIM_COLORSCHEME or "gruvbox" local colorscheme = vim.env.NVIM_COLORSCHEME or "gruvbox"
vim.cmd("silent! colorscheme " .. colorscheme) vim.cmd("silent! colorscheme " .. colorscheme)

View file

@ -36,7 +36,7 @@ M.setup = function()
-- disable highlight until next search -- disable highlight until next search
vim.keymap.set("n", "<leader>h", "<cmd>nohlsearch<cr>") vim.keymap.set("n", "<leader>h", "<cmd>nohlsearch<cr>")
local window = require("fschauen.util.window") local window = require("util.window")
-- window resizing -- window resizing
vim.keymap.set("n", "<s-Up>", window.resize_up(2), { desc = "Resize window upward" }) vim.keymap.set("n", "<s-Up>", window.resize_up(2), { desc = "Resize window upward" })
@ -79,8 +79,8 @@ M.setup = function()
-- don't loose the original yanked contents when pasting in visual mode -- don't loose the original yanked contents when pasting in visual mode
vim.keymap.set("x", "<leader>p", [["_dP]]) vim.keymap.set("x", "<leader>p", [["_dP]])
local diagnostic = require("fschauen.diagnostic") local diagnostic = require("config.diagnostic")
local ui = require("fschauen.util.icons").ui local ui = require("util.icons").ui
-- navigate diagnostics -- navigate diagnostics
vim.keymap.set("n", "<leader>dd", diagnostic.toggle, { desc = ui.Diagnostic.." [d]iagnostic enable/[d]isable" }) vim.keymap.set("n", "<leader>dd", diagnostic.toggle, { desc = ui.Diagnostic.." [d]iagnostic enable/[d]isable" })
@ -92,7 +92,7 @@ M.setup = function()
vim.keymap.set("n", "<leader>q", window.toggle_quickfix, { desc = ui.Toggle.." toggle quickfix" }) vim.keymap.set("n", "<leader>q", window.toggle_quickfix, { desc = ui.Toggle.." toggle quickfix" })
vim.keymap.set("n", "<localleader>q", window.toggle_loclist, { desc = ui.Toggle.." toggle loclist" }) vim.keymap.set("n", "<localleader>q", window.toggle_loclist, { desc = ui.Toggle.." toggle loclist" })
local options = require("fschauen.util.options") local options = require("util.options")
-- toggle options -- toggle options
vim.keymap.set("n", "<leader>sn", options.toggle_number, { desc = ui.Toggle.." toggle 'number'" }) vim.keymap.set("n", "<leader>sn", options.toggle_number, { desc = ui.Toggle.." toggle 'number'" })

View file

@ -33,7 +33,7 @@ M.setup = function()
end end
lazy.setup { lazy.setup {
spec = "fschauen.plugins", spec = "config.plugins",
dev = { dev = {
path = dev_path(), path = dev_path(),
fallback = true, fallback = true,

View file

@ -7,7 +7,7 @@ return {
{ {
"<leader>gb", "<leader>gb",
"<cmd>BlameToggle<cr>", "<cmd>BlameToggle<cr>",
desc = require("fschauen.util.icons").ui.Git .. " [g]it [b]lame (blame.nvim)", desc = require("util.icons").ui.Git .. " [g]it [b]lame (blame.nvim)",
}, },
}, },

View file

@ -4,7 +4,7 @@ return {
cmd = "Commentary", cmd = "Commentary",
keys = function() keys = function()
local icon = require("fschauen.util.icons").ui.Comment local icon = require("util.icons").ui.Comment
return { return {
-- stylua: ignore start -- stylua: ignore start
{ "gc", "<Plug>Commentary", mode = {"n", "x", "o"}, desc = icon.." Comment in/out" }, { "gc", "<Plug>Commentary", mode = {"n", "x", "o"}, desc = icon.." Comment in/out" },

View file

@ -85,7 +85,7 @@ return {
formatting = { formatting = {
format = require("lspkind").cmp_format { format = require("lspkind").cmp_format {
mode = "symbol_text", mode = "symbol_text",
symbol_map = require("fschauen.util.icons").kind, symbol_map = require("util.icons").kind,
menu = { menu = {
buffer = "buf", buffer = "buf",
nvim_lsp = "LSP", nvim_lsp = "LSP",

View file

@ -11,7 +11,7 @@ return {
return function() return require("dial.map")[cmd]() .. suffix end return function() return require("dial.map")[cmd]() .. suffix end
end end
local icons = require("fschauen.util.icons") local icons = require("util.icons")
local inc, dec = icons.ui.Increment, icons.ui.Decrement local inc, dec = icons.ui.Increment, icons.ui.Decrement
return { return {

View file

@ -1,5 +1,3 @@
local icons = require("fschauen.util.icons")
return { return {
"j-hui/fidget.nvim", "j-hui/fidget.nvim",
@ -9,7 +7,7 @@ return {
opts = { opts = {
text = { text = {
done = icons.ui.Checkmark, done = require("util.icons").ui.Checkmark,
spinner = { spinner = {
"▱▱▱▱▱▱▱", "▱▱▱▱▱▱▱",
"▰▱▱▱▱▱▱", "▰▱▱▱▱▱▱",

View file

@ -32,11 +32,11 @@ return {
}, },
keys = function() keys = function()
local icon = require("fschauen.util.icons").ui.Format local icon = require("util.icons").ui.Format
return { return {
{ {
"<leader>F", "<leader>F",
require("fschauen.util.autoformat").toggle, require("util.autoformat").toggle,
desc = icon .. " Toggle auto [F]ormat on write", desc = icon .. " Toggle auto [F]ormat on write",
}, },
{ {

View file

@ -4,7 +4,7 @@ return {
cmd = { "G", "Git" }, cmd = { "G", "Git" },
keys = function() keys = function()
local icon = require("fschauen.util.icons").ui.Git local icon = require("util.icons").ui.Git
return { return {
-- stylua: ignore start -- stylua: ignore start
{ "<leader>gS", "<cmd>tab Git<cr>", desc = icon.." [g]it [S]status (fugitive)" }, { "<leader>gS", "<cmd>tab Git<cr>", desc = icon.." [g]it [S]status (fugitive)" },

View file

@ -4,7 +4,7 @@ return {
cmd = "GitMessenger", cmd = "GitMessenger",
keys = function() keys = function()
local icon = require("fschauen.util.icons").ui.Git local icon = require("util.icons").ui.Git
return { return {
-- stylua: ignore start -- stylua: ignore start
{ "<leader>gm", "<cmd>GitMessenger<cr>", desc = icon.." [g]it [m]essenger" }, { "<leader>gm", "<cmd>GitMessenger<cr>", desc = icon.." [g]it [m]essenger" },

View file

@ -26,7 +26,7 @@ return {
end end
end end
local icon = require("fschauen.util.icons").ui.Git local icon = require("util.icons").ui.Git
return { return {
-- stylua: ignore start -- stylua: ignore start
{ "<leader>gr", open_repo, desc = icon.." open [r]epository in browser" }, { "<leader>gr", open_repo, desc = icon.." open [r]epository in browser" },

View file

@ -1,4 +1,4 @@
local ui = require("fschauen.util.icons").ui local ui = require("util.icons").ui
return { return {
"lukas-reineke/indent-blankline.nvim", "lukas-reineke/indent-blankline.nvim",

View file

@ -4,10 +4,10 @@ return {
dependencies = "nvim-tree/nvim-web-devicons", dependencies = "nvim-tree/nvim-web-devicons",
opts = function() opts = function()
local icons = require("fschauen.util.icons") local icons = require("util.icons")
local dynamic_color = require("fschauen.util.lualine").dynamic_color local colored_when_focused = require("util.lualine").colored_when_focused
local indicator = require("fschauen.util.lualine").indicator local indicator = require("util.lualine").indicator
local window = require("fschauen.util.window") local window = require("util.window")
local orange = "#d65d0e" local orange = "#d65d0e"
local is_diagnostics_enabled = function(bufnr) local is_diagnostics_enabled = function(bufnr)
@ -20,7 +20,7 @@ return {
local autoformat = indicator { local autoformat = indicator {
icon = icons.ui.Format, icon = icons.ui.Format,
cond = require("fschauen.util.autoformat").is_enabled, cond = require("util.autoformat").is_enabled,
} }
local branch = { local branch = {
"branch", "branch",
@ -28,7 +28,7 @@ return {
cond = window.is_medium, cond = window.is_medium,
} }
local diagnostics = { local diagnostics = {
dynamic_color("diagnostics"), colored_when_focused("diagnostics"),
cond = is_diagnostics_enabled, cond = is_diagnostics_enabled,
} }
local diag_status = indicator { local diag_status = indicator {
@ -39,24 +39,24 @@ return {
"fileformat", "fileformat",
cond = window.is_medium, cond = window.is_medium,
} }
local filename = "fschauen.filename" local filename = "custom.filename"
local filetype = { local filetype = {
dynamic_color("filetype"), colored_when_focused("filetype"),
cond = window.is_medium, cond = window.is_medium,
} }
local mode = "fschauen.mode" local mode = "custom.mode"
local searchcount = "fschauen.searchcount" local searchcount = "custom.searchcount"
local spell = indicator { local spell = indicator {
icon = icons.ui.SpellCheck, icon = icons.ui.SpellCheck,
cond = function() return vim.o.spell end, cond = function() return vim.o.spell end,
} }
local status = { local status = {
dynamic_color("fschauen.status"), colored_when_focused("custom.status"),
color = { fg = orange }, color = { fg = orange },
padding = 0, padding = 0,
} }
local whitespace = { local whitespace = {
dynamic_color("fschauen.whitespace"), colored_when_focused("custom.whitespace"),
cond = window.is_wide, cond = window.is_wide,
} }
local wrap = indicator { local wrap = indicator {

View file

@ -22,10 +22,10 @@ return {
end, end,
config = function() config = function()
local icon = require("fschauen.util.icons").ui.Markdown local icon = require("util.icons").ui.Markdown
vim.api.nvim_create_autocmd("FileType", { vim.api.nvim_create_autocmd("FileType", {
desc = "Create key map to toggle markdown preview.", desc = "Create key map to toggle markdown preview.",
group = vim.api.nvim_create_augroup("fschauen.markdown", { clear = true }), group = vim.api.nvim_create_augroup("custom.markdown", { clear = true }),
pattern = "markdown", pattern = "markdown",
callback = function() callback = function()
vim.keymap.set( vim.keymap.set(

View file

@ -6,7 +6,7 @@ return {
event = { "BufReadPre", "BufNewFile" }, event = { "BufReadPre", "BufNewFile" },
config = function() config = function()
local icons = require("fschauen.util.icons") local icons = require("util.icons")
require("mason").setup { require("mason").setup {
ui = { ui = {

View file

@ -2,7 +2,7 @@ return {
"danymat/neogen", "danymat/neogen",
keys = function() keys = function()
local icon = require("fschauen.util.icons").ui.Annotation local icon = require("util.icons").ui.Annotation
return { return {
{ {
"<leader>aa", "<leader>aa",

View file

@ -1,4 +1,4 @@
local ui = require("fschauen.util.icons").ui local ui = require("util.icons").ui
return { return {
"NeogitOrg/neogit", "NeogitOrg/neogit",

View file

@ -1,4 +1,4 @@
local keymap = require("fschauen.plugins.telescope").keymap local keymap = require("config.plugins.telescope").keymap
return { return {
"2kabhishek/nerdy.nvim", "2kabhishek/nerdy.nvim",

View file

@ -6,7 +6,7 @@ return {
{ {
"<leader>L", "<leader>L",
function() require("lint").try_lint() end, function() require("lint").try_lint() end,
desc = require("fschauen.util.icons").ui.Lint .. " [L]int file", desc = require("util.icons").ui.Lint .. " [L]int file",
}, },
} }
end, end,

View file

@ -18,7 +18,7 @@ return {
local dismiss_notifications = function() require("notify").dismiss() end local dismiss_notifications = function() require("notify").dismiss() end
local keymap = require("fschauen.plugins.telescope").keymap local keymap = require("config.plugins.telescope").keymap
return { return {
-- stylua: ignore start -- stylua: ignore start
@ -33,7 +33,7 @@ return {
config = function() config = function()
local notify = require("notify") local notify = require("notify")
local icons = require("fschauen.util.icons") local icons = require("util.icons")
notify.setup { notify.setup {
icons = { icons = {

View file

@ -22,7 +22,7 @@ local on_attach = function(buffer)
-- stylua: ignore end -- stylua: ignore end
end end
local icons = require("fschauen.util.icons") local icons = require("util.icons")
return { return {
"nvim-tree/nvim-tree.lua", "nvim-tree/nvim-tree.lua",

View file

@ -8,7 +8,7 @@ return {
}, },
keys = function() keys = function()
local icon = require("fschauen.util.icons").ui.Web local icon = require("util.icons").ui.Web
return { return {
{ {
"<leader>o", "<leader>o",

View file

@ -17,14 +17,14 @@ return {
local cmdline = [[which plantuml | xargs cat | grep plantuml.jar]] local cmdline = [[which plantuml | xargs cat | grep plantuml.jar]]
local regex = [[\v\s['"]?(\S+/plantuml\.jar)]] local regex = [[\v\s['"]?(\S+/plantuml\.jar)]]
local jar = vim.fn.matchlist(vim.fn.system(cmdline), regex)[2] local jar = vim.fn.matchlist(vim.fn.system(cmdline), regex)[2]
if jar and vim.loop.fs_stat(jar) then if jar and vim.uv.fs_stat(jar) then
vim.g["plantuml_previewer#plantuml_jar_path"] = jar vim.g["plantuml_previewer#plantuml_jar_path"] = jar
end end
end, end,
config = function() config = function()
local icon = require("fschauen.util.icons").ui.Graph local icon = require("util.icons").ui.Graph
local group = vim.api.nvim_create_augroup("fschauen.plantuml", { clear = true }) local group = vim.api.nvim_create_augroup("custom.plantuml", { clear = true })
vim.api.nvim_create_autocmd("FileType", { vim.api.nvim_create_autocmd("FileType", {
desc = "Create key map to toggle plantuml preview.", desc = "Create key map to toggle plantuml preview.",
group = group, group = group,

View file

@ -1,4 +1,4 @@
local keymap = require("fschauen.plugins.telescope").keymap local keymap = require("config.plugins.telescope").keymap
return { return {
"nvim-telescope/telescope-file-browser.nvim", "nvim-telescope/telescope-file-browser.nvim",
@ -12,5 +12,5 @@ return {
}, },
}, },
config = function() require("telescope").load_extension("file_browser") end, config = function() require("config.plugins.telescope").load_extension("file_browser") end,
} }

View file

@ -1,4 +1,4 @@
local ui = require("fschauen.util.icons").ui local ui = require("util.icons").ui
local builtin = function(name, opts) local builtin = function(name, opts)
return function(title) return function(title)
@ -23,9 +23,10 @@ local pickers = setmetatable({
colorscheme = builtin("colorscheme", { enable_preview = true }), colorscheme = builtin("colorscheme", { enable_preview = true }),
diagnostics = builtin("diagnostics", { bufnr = 0 }), diagnostics = builtin("diagnostics", { bufnr = 0 }),
dotfiles = builtin("find_files", { cwd = "~/.dotfiles", hidden = true }), dotfiles = builtin("find_files", { cwd = "~/.dotfiles", hidden = true }),
plugins = builtin("find_files", { cwd = vim.fn.stdpath("data") .. "/lazy" }),
selection = function(title) selection = function(title)
return function() return function()
local text = require("fschauen.util").get_selected_text() local text = require("util").get_selected_text()
return require("telescope.builtin").grep_string { return require("telescope.builtin").grep_string {
prompt_title = string.format(title .. ": %s ", text), prompt_title = string.format(title .. ": %s ", text),
search = text, search = text,
@ -57,52 +58,6 @@ local keymap = function(spec)
}) })
end end
local keys = {
-- stylua: ignore start
{ "a", pickers.autocommands " Autocommands" , desc = "[a]utocommands" },
{ "b", pickers.buffers " Buffers" , desc = "[b]uffers" },
--"B" used in telescope-file-browser
{ "c", pickers.colorscheme " Colorschemes" , desc = "[c]olorschemes" },
{ "C", pickers.commands " Commands" , desc = "[C]ommands" },
{ "d", pickers.diagnostics "󰀪 Diagnostics" , desc = "[d]iagnostics" },
--"e"
{ "f", pickers.find_files " Files" , desc = "[f]ind files" },
{ "F", pickers.all_files " ALL files" , desc = "all [F]iles" },
{ "gr", pickers.live_grep " Live grep" , desc = "Live [gr]ep" },
{ "gf", pickers.git_files " Git files" , desc = "[g]it [f]iles" },
{ "gc", pickers.git_commits " Commits" , desc = "[g]it [c]ommits" },
{ "h", pickers.here " Current buffer" , desc = "[b]uffer [h]ere" },
{ "H", pickers.highlights "󰌶 Highlights" , desc = "[H]ighlights" },
--"i" used in nerdy
{ "j", pickers.jumplist " Jumplist" , desc = "[j]umplist" },
{ "k", pickers.keymaps " Keymaps" , desc = "[k]eymaps" },
{ "K", pickers.help_tags " Help tags" , desc = "[K] help/documentation" },
{ "l", pickers.loclist " Location list" , desc = "[l]ocation List" },
{ "m", pickers.all_man_pages " Man pages" , desc = "[m]an pages" },
--"n" used in vim-notify
{ "o", pickers.vim_options " Vim options" , desc = "[o]ptions" },
--"p"
{ "q", pickers.quickfix " Quickfix" , desc = "[q]uickfix" },
{ "r", pickers.lsp_references " References" , desc = "[r]eferences" },
{ "R", pickers.registers "󱓥 Registers" , desc = "[R]registers" },
{ "s", pickers.lsp_document_symbols "󰫧 Document Symbols " , desc = "LSP document [s]ymbols" },
{ "S", pickers.lsp_workspace_symbols "󱄑 Workspace Symbols " , desc = "LSP workspace [S]ymbols" },
--"t" used in todo_comments
{ "T", pickers.treesitter " Treesitter symbols" , desc = "[T]reesitter Symbols" },
--"u"
--"v"
{ "w", pickers.selection " Grep" , desc = "[w]word under cursor" },
{ "w", pickers.selection " Grep", mode = "v" , desc = "[w]ord(s) selected" },
--"x"
--"y"
{ "z", pickers.spell_suggest "󰓆 Spelling suggestions" , desc = "[z] spell suggestions" },
{ ".", pickers.dotfiles " Dotfiles" , desc = "[.]dotfiles" },
{ ":", pickers.command_history " Command history" , desc = "[:]command history" },
{ "/", pickers.search_history " Search history" , desc = "[/]search history" },
{ " ", pickers.resume "󰐎 Resume" , desc = "Resume " },
-- stylua: ignore end
}
return { return {
"nvim-telescope/telescope.nvim", "nvim-telescope/telescope.nvim",
@ -115,8 +70,54 @@ return {
cmd = "Telescope", cmd = "Telescope",
---@diagnostic disable-next-line: param-type-mismatch keys = vim
keys = vim.iter(keys):map(keymap):totable(), .iter({
-- stylua: ignore start
{ "a", pickers.autocommands " Autocommands" , desc = "[a]utocommands" },
{ "b", pickers.buffers " Buffers" , desc = "[b]uffers" },
--"B" used in telescope-file-browser
{ "c", pickers.colorscheme " Colorschemes" , desc = "[c]olorschemes" },
{ "C", pickers.commands " Commands" , desc = "[C]ommands" },
{ "d", pickers.diagnostics "󰀪 Diagnostics" , desc = "[d]iagnostics" },
--"e"
{ "f", pickers.find_files " Files" , desc = "[f]ind files" },
{ "F", pickers.all_files " ALL files" , desc = "all [F]iles" },
{ "gr", pickers.live_grep " Live grep" , desc = "Live [gr]ep" },
{ "gf", pickers.git_files " Git files" , desc = "[g]it [f]iles" },
{ "gc", pickers.git_commits " Commits" , desc = "[g]it [c]ommits" },
{ "h", pickers.here " Current buffer" , desc = "[b]uffer [h]ere" },
{ "H", pickers.highlights "󰌶 Highlights" , desc = "[H]ighlights" },
--"i" used in nerdy
{ "j", pickers.jumplist " Jumplist" , desc = "[j]umplist" },
{ "k", pickers.keymaps " Keymaps" , desc = "[k]eymaps" },
{ "K", pickers.help_tags " Help tags" , desc = "[K] help/documentation" },
{ "l", pickers.loclist " Location list" , desc = "[l]ocation List" },
{ "m", pickers.all_man_pages " Man pages" , desc = "[m]an pages" },
--"n" used in vim-notify
{ "o", pickers.vim_options " Vim options" , desc = "[o]ptions" },
{ "p", pickers.plugins " Installed Plugins" , desc = "[p]lugins" },
{ "q", pickers.quickfix " Quickfix" , desc = "[q]uickfix" },
{ "r", pickers.lsp_references " References" , desc = "[r]eferences" },
{ "R", pickers.registers "󱓥 Registers" , desc = "[R]registers" },
{ "s", pickers.lsp_document_symbols "󰫧 Document Symbols " , desc = "LSP document [s]ymbols" },
{ "S", pickers.lsp_workspace_symbols "󱄑 Workspace Symbols " , desc = "LSP workspace [S]ymbols" },
--"t" used in todo_comments
{ "T", pickers.treesitter " Treesitter symbols" , desc = "[T]reesitter Symbols" },
--"u"
--"v"
{ "w", pickers.selection " Grep" , desc = "[w]word under cursor" },
{ "w", pickers.selection " Grep", mode = "v" , desc = "[w]ord(s) selected" },
--"x"
--"y"
{ "z", pickers.spell_suggest "󰓆 Spelling suggestions" , desc = "[z] spell suggestions" },
{ ".", pickers.dotfiles " Dotfiles" , desc = "[.]dotfiles" },
{ ":", pickers.command_history " Command history" , desc = "[:]command history" },
{ "/", pickers.search_history " Search history" , desc = "[/]search history" },
{ " ", pickers.resume "󰐎 Resume" , desc = "Resume " },
-- stylua: ignore end
})
:map(keymap)
:totable(),
-- Export this function so we can use in other plugins. -- Export this function so we can use in other plugins.
keymap = keymap, keymap = keymap,
@ -197,7 +198,7 @@ return {
require("telescope").load_extension("fzf") require("telescope").load_extension("fzf")
vim.api.nvim_create_autocmd("User", { vim.api.nvim_create_autocmd("User", {
desc = "Enable line number in Telescope previewers.", desc = "Enable line number in Telescope previewers.",
group = vim.api.nvim_create_augroup("fschauen.telescope", { clear = true }), group = vim.api.nvim_create_augroup("custom.telescope", { clear = true }),
pattern = "TelescopePreviewerLoaded", pattern = "TelescopePreviewerLoaded",
command = "setlocal number", command = "setlocal number",
}) })

View file

@ -13,14 +13,14 @@ return {
dev = true, dev = true,
keys = function() keys = function()
local icon = require("fschauen.util.icons").ui.Text local icon = require("util.icons").ui.Text
local description = icon .. " [c]hange text [c]ase" local description = icon .. " [c]hange text [c]ase"
local theme = function() return require("telescope.themes").get_cursor() end local theme = function() return require("telescope.themes").get_cursor() end
return { return {
{ {
"<leader>cc", "<leader>cc",
function() require("telescope").extensions.textcase.normal_mode(theme()) end, function() require("config.plugins.telescope").extensions.textcase.normal_mode(theme()) end,
mode = "n", mode = "n",
desc = description, desc = description,
}, },
@ -55,6 +55,6 @@ return {
require("textcase").setup { require("textcase").setup {
default_keymappings_enabled = false, default_keymappings_enabled = false,
} }
require("telescope").load_extension("textcase") require("config.plugins.telescope").load_extension("textcase")
end, end,
} }

View file

@ -1,4 +1,4 @@
local keymap = require("fschauen.plugins.telescope").keymap local keymap = require("config.plugins.telescope").keymap
return { return {
"folke/todo-comments.nvim", "folke/todo-comments.nvim",
@ -15,7 +15,7 @@ return {
}, },
opts = function() opts = function()
local ui = require("fschauen.util.icons").ui local ui = require("util.icons").ui
return { return {
keywords = { keywords = {
TODO = { icon = ui.Checkbox }, TODO = { icon = ui.Checkbox },

View file

@ -14,7 +14,7 @@ return {
event = "VeryLazy", event = "VeryLazy",
keys = function() keys = function()
local icon = require("fschauen.util.icons").ui.Tree local icon = require("util.icons").ui.Tree
return { return {
-- stylua: ignore start -- stylua: ignore start

View file

@ -6,7 +6,7 @@ return {
cmd = "Trouble", cmd = "Trouble",
keys = function() keys = function()
local icon = require("fschauen.util.icons").ui.TrafficLight local icon = require("util.icons").ui.TrafficLight
local key = function(lhs, rhs, desc) return { lhs, rhs, desc = icon .. " " .. desc } end local key = function(lhs, rhs, desc) return { lhs, rhs, desc = icon .. " " .. desc } end
return { return {
-- stylua: ignore start -- stylua: ignore start

View file

@ -12,7 +12,7 @@ return {
end, end,
keys = function() keys = function()
local icon = require("fschauen.util.icons").ui.Undo local icon = require("util.icons").ui.Undo
return { return {
{ "<leader>u", "<cmd>UndotreeToggle<cr>", desc = icon .. " toggle [u]ndo tree" }, { "<leader>u", "<cmd>UndotreeToggle<cr>", desc = icon .. " toggle [u]ndo tree" },
} }

View file

@ -1,4 +1,4 @@
local ui = require("fschauen.util.icons").ui local ui = require("util.icons").ui
return { return {
"lukas-reineke/virt-column.nvim", "lukas-reineke/virt-column.nvim",

View file

@ -0,0 +1,27 @@
return {
"ntpeters/vim-better-whitespace",
event = { "BufReadPost", "BufNewFile" },
init = function()
vim.g.better_whitespace_filetypes_blacklist = {
"diff",
"fugitive",
"git",
"gitcommit",
"help",
}
end,
keys = function()
local icon = require("util.icons").ui.Whitespace
return {
-- stylua: ignore start
{ "]w", "<cmd>NextTrailingWhitespace<cr>", desc = icon.." next whitespace" },
{ "[w", "<cmd>PrevTrailingWhitespace<cr>", desc = icon.." previous whitespace" },
{ "<leader>w", "<cmd>ToggleWhitespace<cr>", desc = icon.." toggle whitespace" },
{ "<leader>W", "<cmd>StripWhitespace<cr>", desc = icon.." strip whitespace" },
-- stylua: ignore end
}
end,
}

View file

@ -1,27 +0,0 @@
return {
"ntpeters/vim-better-whitespace",
event = { "BufReadPost", "BufNewFile" },
init = function()
vim.g.better_whitespace_filetypes_blacklist = {
"diff",
"fugitive",
"git",
"gitcommit",
"help",
}
end,
keys = function()
local icon = require("fschauen.util.icons").ui.Whitespace
return {
-- stylua: ignore start
{ "<leader>ww", "<cmd>ToggleWhitespace<cr>", desc = icon.." toggle whitespace" },
{ "<leader>wj", "<cmd>NextTrailingWhitespace<cr>", desc = icon.." next whitespace" },
{ "<leader>wk", "<cmd>PrevTrailingWhitespace<cr>", desc = icon.." previous whitespace" },
{ "<leader>W", "<cmd>StripWhitespace<cr>", desc = icon.." strip whitespace" },
-- stylua: ignore end
}
end,
}

View file

@ -23,7 +23,7 @@ function M:update_status(is_focused)
local path = vim.fn.expand("%:~:.") local path = vim.fn.expand("%:~:.")
local window = require("fschauen.util.window") local window = require("util.window")
if window.is_wide() then if window.is_wide() then
return path return path
elseif window.is_medium() then elseif window.is_medium() then

View file

@ -23,7 +23,7 @@ M.enable = function()
return return
end end
M._augroup = vim.api.nvim_create_augroup("fschauen.autoformat", { clear = true }) M._augroup = vim.api.nvim_create_augroup("custom.autoformat", { clear = true })
vim.api.nvim_create_autocmd("BufWritePost", { vim.api.nvim_create_autocmd("BufWritePost", {
desc = "Format files on write.", desc = "Format files on write.",
group = M._augroup, group = M._augroup,

View file

@ -1,8 +1,5 @@
local M = {} local M = {}
local util = require("fschauen.util")
local exists = util.exists
---Find lua module source. ---Find lua module source.
---@param modname string Module name. ---@param modname string Module name.
---@return table results List of source files in the runtime path that implement ---@return table results List of source files in the runtime path that implement
@ -12,6 +9,8 @@ local find_module_sources = function(modname)
local base = "lua/" .. modname:gsub("%.", "/") local base = "lua/" .. modname:gsub("%.", "/")
local candidates = { base .. ".lua", base .. "/init.lua" } local candidates = { base .. ".lua", base .. "/init.lua" }
local exists = require("util").exists
local results = {} local results = {}
for _, directory in ipairs(vim.opt.runtimepath:get()) do for _, directory in ipairs(vim.opt.runtimepath:get()) do
for _, candidate in ipairs(candidates) do for _, candidate in ipairs(candidates) do
@ -29,8 +28,7 @@ end
M.execute_lines = function(first, last) M.execute_lines = function(first, last)
first = first or vim.fn.line(".") first = first or vim.fn.line(".")
last = last or first last = last or first
---@diagnostic disable-next-line: param-type-mismatch local code = vim.iter(vim.fn.getline(first, last)):join("\n")
local code = vim.fn.join(vim.fn.getline(first, last), "\n")
loadstring(code)() loadstring(code)()
end end

View file

@ -3,7 +3,7 @@ local M = {}
---Make a lualine component that is colored only when focused. ---Make a lualine component that is colored only when focused.
---@param base table|string Either a lualine component or a component name. ---@param base table|string Either a lualine component or a component name.
---@return table component ---@return table component
M.dynamic_color = function(base) M.colored_when_focused = function(base)
local component = {} local component = {}
if type(base) == "string" then if type(base) == "string" then
@ -19,14 +19,14 @@ M.dynamic_color = function(base)
self, self,
vim.tbl_deep_extend("keep", options or {}, { vim.tbl_deep_extend("keep", options or {}, {
colored = true, colored = true,
dynamic_color = true, colored_when_focused = true,
}) })
) )
self.saved_highlight = self.options.color_highlight self.saved_highlight = self.options.color_highlight
end end
function component:update_status(is_focused) function component:update_status(is_focused)
if self.options.dynamic_color then self.options.colored = is_focused end if self.options.colored_when_focused then self.options.colored = is_focused end
return component.super.update_status(self, is_focused) return component.super.update_status(self, is_focused)
end end