feat: fennelize lz.n configuration spec

This commit is contained in:
Youwen Wu 2025-02-01 14:42:40 -08:00
parent d8a313d192
commit 1f86918fd2
Signed by: youwen5
GPG key ID: 865658ED1FE61EC3
2 changed files with 269 additions and 308 deletions

176
fnl/plugins/lz-spec.fnl Normal file
View file

@ -0,0 +1,176 @@
[(require :plugins.blink-cmp)
(require :plugins.telescope)
(require :plugins.oil)
(require :plugins.harpoon)
(require :plugins.lualine)
(require :plugins.conform)
(require :plugins.lsp-progress)
(require :plugins.gitsigns)
(require :plugins.autopairs)
(require :plugins.trouble)
(require :plugins.render-markdown)
(require :plugins.toggleterm)
(require :plugins.by-lang.latex)
(require :plugins.neogit)
(require :plugins.obsidian)
(require :plugins.starter)
[:vim-wakatime]
[:clangd_extensions.nvim]
[:vim-sleuth]
{1 :nvim-lspconfig :after (. (require :lsp) :setup) :event :BufEnter}
{1 :which-key.nvim
:after (fn []
((. (require :which-key) :setup) {:delay 1000}))}
[:nvim-web-devicons]
{1 :markdown-preview.nvim :filetypes [:markdown]}
{1 :typst-preview.nvim
:after (fn []
((. (require :typst-preview) :setup) {:dependencies_bin {:tinymist (nixCats :bin.tinymist)
:websocat (nixCats :bin.websocat)}}))
:filetypes [:*.typ]}
{1 :mini.ai
:after (fn []
((. (require :mini.ai) :setup)))
:event :BufEnter}
{1 :mini.surround
:after (fn []
((. (require :mini.surround) :setup)))
:event :BufEnter}
{1 :fidget.nvim
:after (fn []
((. (require :fidget) :setup) {:notification {:override_vim_notify true
:window {:border :rounded
:x_padding 1
:y_padding 2}}}))}
{1 :cellular-automaton.nvim
:cmd :CellularAutomaton
:keys [{1 :<leader>mr
2 (fn [] (vim.cmd.CellularAutomaton :make_it_rain))
:desc "A surprise!"
:mode :n}
{1 :<leader>bruh
2 (fn [] (vim.cmd.CellularAutomaton :game_of_life))
:desc "A surprise!"
:mode :n}]}
{1 :indent-blankline.nvim
:after (fn []
((. (require :ibl) :setup) {:exclude {:filetypes [:help
:ministarter
:Trouble
:trouble
:toggleterm]}
:indent {:char "│" :tab_char "│"}
:scope {:show_end false
:show_start false}}))}
{1 :mini.bufremove
:after (fn []
((. (require :mini.bufremove) :setup)))
:keys [{1 :<leader>bd
2 (fn [] (MiniBufremove.delete))
:desc "Close buffer"
:mode [:n :v]}]}
{1 :mini.hipatterns
:after (fn []
((. (require :mini.hipatterns) :setup)))
:event :BufEnter}
{1 :undotree
:cmd :UndotreeToggle
:keys [{1 :<leader>u
2 (fn [] (vim.cmd.UndotreeToggle))
:desc "Toggle undotree"
:mode :n}]}
{1 :neocord
:after (fn []
((. (require :neocord) :setup) {:editing_text "Hacking %s"
:logo_tooltip "The One True Text Editor"
:terminal_text "Bypassing the mainframe"
:workspace_text "The One True Text Editor"}))
:event :BufEnter}
{1 :crates.nvim
:after (fn []
((. (require :crates) :setup) {}))
:event "BufRead Cargo.toml"}
[:rustaceanvim]
[:haskell-tools.nvim]
{1 :typescript-tools.nvim
:after (fn []
((. (require :lz.n) :trigger_load) :nvim-lspconfig)
((. (require :typescript-tools) :setup) {}))
:filetypes [:typescriptreact
:typescript
:javascript
:svelte
:javascriptreact]}
{1 :lsp_lines.nvim
:after (fn []
((. (require :lsp_lines) :setup))
(vim.diagnostic.config {:virtual_lines {:only_current_line true}
:virtual_text false}))
:event :LspAttach}
{1 :tailwind-tools.nvim
:after (fn []
(local lz (require :lz.n))
(lz.trigger_load :telescope.nvim)
(lz.trigger_load :nvim-lspconfig)
((. (require :tailwind-tools) :setup) {:conceal {:enabled true}
:document_color {:enabled true}})
(vim.keymap.set :n :<leader>ft
(fn [] (vim.cmd "Telescope tailwind utilities"))
{:desc "Search through TailwindCSS utility classes available in the project."}))}
{1 :blink-ripgrep :lazy true}
{1 :blink.compat :lazy true}
{1 :lazydev.nvim
:after (fn []
((. (require :lazydev) :setup)))
:filetypes [:lua]}
{1 :rose-pine
:colorscheme [:rose-pine :rose-pine-dawn :rose-pine-moon :rose-pine-main]}
{1 :oxocarbon.nvim :colorscheme [:oxocarbon]}
{1 :pomo-nvim
:after (fn []
((. (require :pomo) :setup) {:notifiers [{:name :Default
:opts {:sticky false}}
{:name :System}]
:sessions {:grind [{:duration :45m
:name :Work}
{:duration :5m
:name "Short Break"}
{:duration :45m
:name :Work}]
:pomodoro [{:duration :25m
:name :Work}
{:duration :5m
:name "Short Break"}
{:duration :25m
:name :Work}
{:duration :5m
:name "Short Break"}
{:duration :25m
:name :Work}
{:duration :15m
:name "Long Break"}]}}))
:cmd [:TimerStart :TimerRepeat :TimerSession]
:keys [{1 :<leader>fp
2 (fn []
((. (require :telescope) :load_extension) :pomodori)
((. (require :telescope) :extensions :pomodori :timers)))
:desc "Manage Pomodori Timers"}]}
{1 :dropbar.nvim
:after (fn [] (local dropbar-api (require :dropbar.api))
(vim.keymap.set :n "<Leader>;" dropbar-api.pick
{:desc "Pick symbols in winbar"})
(vim.keymap.set :n "[;" dropbar-api.goto_context_start
{:desc "Go to start of current context"})
(vim.keymap.set :n "];" dropbar-api.select_next_context
{:desc "Select next context"}))}
{1 :mini.files
:after (fn []
((. (require :mini.files) :setup) {:windows {:preview true
:width_preview 40}})
(vim.keymap.set :n :<leader>e
(fn []
(if (= vim.bo.filetype :ministarter)
(MiniFiles.open nil false)
(MiniFiles.open (vim.api.nvim_buf_get_name 0)))))
(vim.keymap.set :n :<leader>fe (fn [] (MiniFiles.open nil false))))}
{1 :nfnl :ft [:fennel]}]

381
lua/plugins/lz-spec.lua generated
View file

@ -1,308 +1,93 @@
return { -- [nfnl] Compiled from ./fnl/plugins/lz-spec.fnl by https://github.com/Olical/nfnl, do not edit.
require("plugins.blink-cmp"), local function _1_()
require("plugins.telescope"), return require("which-key").setup({delay = 1000})
require("plugins.oil"), end
require("plugins.harpoon"), local function _2_()
require("plugins.lualine"), return require("typst-preview").setup({dependencies_bin = {tinymist = nixCats("bin.tinymist"), websocat = nixCats("bin.websocat")}})
require("plugins.conform"), end
require("plugins.lsp-progress"), local function _3_()
require("plugins.gitsigns"), return require("mini.ai").setup()
require("plugins.autopairs"), end
require("plugins.trouble"), local function _4_()
require("plugins.render-markdown"), return require("mini.surround").setup()
require("plugins.toggleterm"), end
require("plugins.by-lang.latex"), local function _5_()
require("plugins.neogit"), return require("fidget").setup({notification = {override_vim_notify = true, window = {border = "rounded", x_padding = 1, y_padding = 2}}})
require("plugins.obsidian"), end
require("plugins.starter"), local function _6_()
{ "vim-wakatime" }, return vim.cmd.CellularAutomaton("make_it_rain")
{ "clangd_extensions.nvim" }, end
{ "vim-sleuth" }, local function _7_()
{ return vim.cmd.CellularAutomaton("game_of_life")
"nvim-lspconfig", end
event = "BufEnter", local function _8_()
after = require("lsp").setup, return require("ibl").setup({exclude = {filetypes = {"help", "ministarter", "Trouble", "trouble", "toggleterm"}}, indent = {char = "\226\148\130", tab_char = "\226\148\130"}, scope = {show_end = false, show_start = false}})
}, end
{ local function _9_()
"which-key.nvim", return require("mini.bufremove").setup()
after = function() end
require("which-key").setup({ local function _10_()
delay = 1000, return MiniBufremove.delete()
}) end
end, local function _11_()
}, return require("mini.hipatterns").setup()
{ "nvim-web-devicons" }, end
{ local function _12_()
"markdown-preview.nvim", return vim.cmd.UndotreeToggle()
filetypes = { "markdown" }, end
}, local function _13_()
{ return require("neocord").setup({editing_text = "Hacking %s", logo_tooltip = "The One True Text Editor", terminal_text = "Bypassing the mainframe", workspace_text = "The One True Text Editor"})
"typst-preview.nvim", end
filetypes = { "*.typ" }, local function _14_()
after = function() return require("crates").setup({})
require("typst-preview").setup({ end
dependencies_bin = { local function _15_()
["tinymist"] = nixCats("bin.tinymist"),
["websocat"] = nixCats("bin.websocat"),
},
})
end,
},
{
"mini.ai",
event = "BufEnter",
after = function()
require("mini.ai").setup()
end,
},
{
"mini.surround",
event = "BufEnter",
after = function()
require("mini.surround").setup()
end,
},
{
"fidget.nvim",
after = function()
require("fidget").setup({
notification = {
override_vim_notify = true,
window = {
border = "rounded",
x_padding = 1,
y_padding = 2,
},
},
})
end,
},
{
"cellular-automaton.nvim",
cmd = "CellularAutomaton",
keys = {
{
"<leader>mr",
function()
vim.cmd.CellularAutomaton("make_it_rain")
end,
desc = "A surprise!",
mode = "n",
},
{
"<leader>bruh",
function()
vim.cmd.CellularAutomaton("game_of_life")
end,
desc = "A surprise!",
mode = "n",
},
},
},
{
"indent-blankline.nvim",
after = function()
require("ibl").setup({
indent = {
char = "",
tab_char = "",
},
scope = { show_start = false, show_end = false },
exclude = {
filetypes = {
"help",
"ministarter",
"Trouble",
"trouble",
"toggleterm",
},
},
})
end,
},
{
"mini.bufremove",
keys = {
{
"<leader>bd",
function()
MiniBufremove.delete()
end,
mode = { "n", "v" },
desc = "Close buffer",
},
},
after = function()
require("mini.bufremove").setup()
end,
},
{
"mini.hipatterns",
event = "BufEnter",
after = function()
require("mini.hipatterns").setup()
end,
},
{
"undotree",
cmd = "UndotreeToggle",
keys = {
{
"<leader>u",
function()
vim.cmd.UndotreeToggle()
end,
desc = "Toggle undotree",
mode = "n",
},
},
},
{
"neocord",
event = "BufEnter",
after = function()
require("neocord").setup({
editing_text = "Hacking %s",
logo_tooltip = "The One True Text Editor",
terminal_text = "Bypassing the mainframe",
workspace_text = "The One True Text Editor",
})
end,
},
{
"crates.nvim",
event = "BufRead Cargo.toml",
after = function()
require("crates").setup({})
end,
},
{ "rustaceanvim" },
{ "haskell-tools.nvim" },
{
"typescript-tools.nvim",
filetypes = { "typescriptreact", "typescript", "javascript", "svelte", "javascriptreact" },
after = function()
require("lz.n").trigger_load("nvim-lspconfig") require("lz.n").trigger_load("nvim-lspconfig")
require("typescript-tools").setup({}) return require("typescript-tools").setup({})
end, end
}, local function _16_()
{
"lsp_lines.nvim",
event = "LspAttach",
after = function()
require("lsp_lines").setup() require("lsp_lines").setup()
vim.diagnostic.config({ return vim.diagnostic.config({virtual_lines = {only_current_line = true}, virtual_text = false})
virtual_text = false, end
virtual_lines = { only_current_line = true }, local function _17_()
})
end,
},
{
"tailwind-tools.nvim",
after = function()
local lz = require("lz.n") local lz = require("lz.n")
lz.trigger_load("telescope.nvim") lz.trigger_load("telescope.nvim")
lz.trigger_load("nvim-lspconfig") lz.trigger_load("nvim-lspconfig")
require("tailwind-tools").setup({conceal = {enabled = true}, document_color = {enabled = true}})
---@diagnostic disable-next-line: missing-fields local function _18_()
require("tailwind-tools").setup({ return vim.cmd("Telescope tailwind utilities")
conceal = { enabled = true }, end
document_color = { enabled = true }, return vim.keymap.set("n", "<leader>ft", _18_, {desc = "Search through TailwindCSS utility classes available in the project."})
}) end
local function _19_()
vim.keymap.set("n", "<leader>ft", function() return require("lazydev").setup()
vim.cmd("Telescope tailwind utilities") end
end, { desc = "Search through TailwindCSS utility classes available in the project." }) local function _20_()
end, return require("pomo").setup({notifiers = {{name = "Default", opts = {sticky = false}}, {name = "System"}}, sessions = {grind = {{duration = "45m", name = "Work"}, {duration = "5m", name = "Short Break"}, {duration = "45m", name = "Work"}}, pomodoro = {{duration = "25m", name = "Work"}, {duration = "5m", name = "Short Break"}, {duration = "25m", name = "Work"}, {duration = "5m", name = "Short Break"}, {duration = "25m", name = "Work"}, {duration = "15m", name = "Long Break"}}}})
}, end
{ "blink-ripgrep", lazy = true }, local function _21_()
{ "blink.compat", lazy = true },
{
"lazydev.nvim",
filetypes = { "lua" },
after = function()
require("lazydev").setup()
end,
},
{
"rose-pine",
colorscheme = { "rose-pine", "rose-pine-dawn", "rose-pine-moon", "rose-pine-main" },
},
{
"oxocarbon.nvim",
colorscheme = { "oxocarbon" },
},
{
"pomo-nvim",
cmd = { "TimerStart", "TimerRepeat", "TimerSession" },
after = function()
---@diagnostic disable-next-line: missing-fields
require("pomo").setup({
notifiers = {
{
name = "Default",
opts = {
sticky = false,
},
},
{ name = "System" },
},
sessions = {
pomodoro = {
{ name = "Work", duration = "25m" },
{ name = "Short Break", duration = "5m" },
{ name = "Work", duration = "25m" },
{ name = "Short Break", duration = "5m" },
{ name = "Work", duration = "25m" },
{ name = "Long Break", duration = "15m" },
},
grind = {
{ name = "Work", duration = "45m" },
{ name = "Short Break", duration = "5m" },
{ name = "Work", duration = "45m" },
},
},
})
end,
keys = {
{
"<leader>fp",
function()
require("telescope").load_extension("pomodori") require("telescope").load_extension("pomodori")
require("telescope").extensions.pomodori.timers() return require("telescope").extensions.pomodori.timers()
end, end
desc = "Manage Pomodori Timers", local function _22_()
},
},
},
{
"dropbar.nvim",
after = function()
local dropbar_api = require("dropbar.api") local dropbar_api = require("dropbar.api")
vim.keymap.set("n", "<Leader>;", dropbar_api.pick, {desc = "Pick symbols in winbar"}) vim.keymap.set("n", "<Leader>;", dropbar_api.pick, {desc = "Pick symbols in winbar"})
vim.keymap.set("n", "[;", dropbar_api.goto_context_start, {desc = "Go to start of current context"}) vim.keymap.set("n", "[;", dropbar_api.goto_context_start, {desc = "Go to start of current context"})
vim.keymap.set("n", "];", dropbar_api.select_next_context, { desc = "Select next context" }) return vim.keymap.set("n", "];", dropbar_api.select_next_context, {desc = "Select next context"})
end,
},
{
"mini.files",
after = function()
require("mini.files").setup({
windows = { preview = true, width_preview = 40 },
})
vim.keymap.set("n", "<leader>e", function()
if vim.bo.filetype == "ministarter" then
MiniFiles.open(nil, false)
else
MiniFiles.open(vim.api.nvim_buf_get_name(0))
end end
end) local function _23_()
vim.keymap.set("n", "<leader>fe", function() require("mini.files").setup({windows = {preview = true, width_preview = 40}})
MiniFiles.open(nil, false) local function _24_()
end) if (vim.bo.filetype == "ministarter") then
end, return MiniFiles.open(nil, false)
}, else
{ "nfnl", ft = { "fennel" } }, return MiniFiles.open(vim.api.nvim_buf_get_name(0))
} end
end
vim.keymap.set("n", "<leader>e", _24_)
local function _26_()
return MiniFiles.open(nil, false)
end
return vim.keymap.set("n", "<leader>fe", _26_)
end
return {require("plugins.blink-cmp"), require("plugins.telescope"), require("plugins.oil"), require("plugins.harpoon"), require("plugins.lualine"), require("plugins.conform"), require("plugins.lsp-progress"), require("plugins.gitsigns"), require("plugins.autopairs"), require("plugins.trouble"), require("plugins.render-markdown"), require("plugins.toggleterm"), require("plugins.by-lang.latex"), require("plugins.neogit"), require("plugins.obsidian"), require("plugins.starter"), {"vim-wakatime"}, {"clangd_extensions.nvim"}, {"vim-sleuth"}, {"nvim-lspconfig", after = require("lsp").setup, event = "BufEnter"}, {"which-key.nvim", after = _1_}, {"nvim-web-devicons"}, {"markdown-preview.nvim", filetypes = {"markdown"}}, {"typst-preview.nvim", after = _2_, filetypes = {"*.typ"}}, {"mini.ai", after = _3_, event = "BufEnter"}, {"mini.surround", after = _4_, event = "BufEnter"}, {"fidget.nvim", after = _5_}, {"cellular-automaton.nvim", cmd = "CellularAutomaton", keys = {{"<leader>mr", _6_, desc = "A surprise!", mode = "n"}, {"<leader>bruh", _7_, desc = "A surprise!", mode = "n"}}}, {"indent-blankline.nvim", after = _8_}, {"mini.bufremove", after = _9_, keys = {{"<leader>bd", _10_, desc = "Close buffer", mode = {"n", "v"}}}}, {"mini.hipatterns", after = _11_, event = "BufEnter"}, {"undotree", cmd = "UndotreeToggle", keys = {{"<leader>u", _12_, desc = "Toggle undotree", mode = "n"}}}, {"neocord", after = _13_, event = "BufEnter"}, {"crates.nvim", after = _14_, event = "BufRead Cargo.toml"}, {"rustaceanvim"}, {"haskell-tools.nvim"}, {"typescript-tools.nvim", after = _15_, filetypes = {"typescriptreact", "typescript", "javascript", "svelte", "javascriptreact"}}, {"lsp_lines.nvim", after = _16_, event = "LspAttach"}, {"tailwind-tools.nvim", after = _17_}, {"blink-ripgrep", lazy = true}, {"blink.compat", lazy = true}, {"lazydev.nvim", after = _19_, filetypes = {"lua"}}, {"rose-pine", colorscheme = {"rose-pine", "rose-pine-dawn", "rose-pine-moon", "rose-pine-main"}}, {"oxocarbon.nvim", colorscheme = {"oxocarbon"}}, {"pomo-nvim", after = _20_, cmd = {"TimerStart", "TimerRepeat", "TimerSession"}, keys = {{"<leader>fp", _21_, desc = "Manage Pomodori Timers"}}}, {"dropbar.nvim", after = _22_}, {"mini.files", after = _23_}, {"nfnl", ft = {"fennel"}}}