Compare commits

..

No commits in common. "57bf6851f1b004352a377ee79febee77a7755c31" and "7d2003d1564ba0de3bf4451504845fde59ef1b0b" have entirely different histories.

15 changed files with 257 additions and 35 deletions

View file

@ -6,7 +6,7 @@ pad=4x2 center
blink=yes blink=yes
[colors-dark] [colors-dark]
alpha=0.99 alpha=0.9
background=282828 background=282828
foreground=ebdbb2 foreground=ebdbb2
regular0=282828 regular0=282828

View file

@ -1,3 +1 @@
vim.opt.expandtab = false vim.opt.expandtab = false
vim.opt.shiftwidth = 8
vim.opt.tabstop = 8

View file

@ -0,0 +1,13 @@
require('haskell-tools').lsp.start()
local ht = require('haskell-tools')
local bufnr = vim.api.nvim_get_current_buf()
local opts = { noremap = true, silent = true, buffer = bufnr, }
vim.keymap.set('n', '<space>cl', vim.lsp.codelens.run, opts)
vim.keymap.set('n', '<space>hs', ht.hoogle.hoogle_signature, opts)
vim.keymap.set('n', '<space>ea', ht.lsp.buf_eval_all, opts)
vim.keymap.set('n', '<leader>rr', ht.repl.toggle, opts)
vim.keymap.set('n', '<leader>rf', function()
ht.repl.toggle(vim.api.nvim_buf_get_name(0))
end, opts)
vim.keymap.set('n', '<leader>rq', ht.repl.quit, opts)

View file

@ -1,15 +1,30 @@
return { return {
{ {
'catgoose/nvim-colorizer.lua', 'norcalli/nvim-colorizer.lua',
event = 'BufReadPre', config = true
opts = {},
}, },
{ {
'ellisonleao/gruvbox.nvim', 'catppuccin/nvim',
name = 'catppuccin',
priority = 1000, priority = 1000,
config = function() config = function()
vim.o.background = 'dark' require('catppuccin').setup({
vim.cmd.colorscheme([[gruvbox]]) transparent_background = true,
end, })
} vim.cmd.colorscheme([[catppuccin-mocha]])
end
},
-- {
-- "Mofiqul/adwaita.nvim",
-- lazy = false,
-- priority = 1000,
--
-- -- configure and set on startup
-- config = function()
-- vim.g.adwaita_darker = true -- for darker version
-- -- vim.g.adwaita_disable_cursorline = true -- to disable cursorline
-- vim.g.adwaita_transparent = true -- makes the background transparent
-- vim.cmd('colorscheme adwaita')
-- end
-- }
} }

View file

@ -0,0 +1,7 @@
return {
{
'mrcjkb/haskell-tools.nvim',
version = '^4',
lazy = false,
}
}

View file

@ -0,0 +1,80 @@
return {
{
'idris-community/idris2-nvim',
event = { 'BufReadPre *.idr', 'BufNewFile *.idr' },
dependencies = {
'neovim/nvim-lspconfig',
'MunifTanjim/nui.nvim',
'folke/which-key.nvim'
},
config = function()
local wk = require('which-key')
local action = require('idris2.code_action')
local hover = require('idris2.hover')
local meta = require('idris2.metavars')
local browse = require('idris2.browse')
local repl = require('idris2.repl')
require('idris2').setup({
client = {
hover = {
use_split = false,
split_size = '30%',
auto_resize_split = false,
split_position = 'bottom',
with_history = true,
},
},
-- autostart_semantic = true,
-- code_action_post_hook = save_hook,
-- use_default_semantic_hl_groups = true,
server = {
init_options = {
logFile = "~/.cache/idris2-lsp/server.log",
longActionTimeout = 2000,
},
on_attach = function(...)
wk.add({
{ '<leader>c', action.case_split, desc = 'Split case' },
{ '<leader>i', group = 'idris action' },
{ '<leader>ic', action.make_case, desc = 'Make case' },
{ '<leader>iw', action.make_with, desc = 'Make with' },
{ '<leader>il', action.make_lemma, desc = 'Make lemma' },
{ '<leader>ia', action.add_clause, desc = 'Add clause' },
{ '<leader>io', action.expr_search, desc = 'Expr search' },
{ '<leader>ig', action.generate_def, desc = 'Generate definition' },
{ '<leader>ir', action.refine_hole, desc = 'Refine hole' },
{ '<leader>ib', browse.browse, desc = 'Browse' },
{ '<leader>s', group = 'idris split' },
{ '<leader>so', hover.open_split, desc = 'Open' },
{ '<leader>sc', hover.close_split, desc = 'Close' },
{ '<leader>m', group = 'idris metavariables' },
{ '<leader>mm', meta.request_all, desc = 'Request all' },
{ '<leader>mn', meta.goto_next, desc = 'Next' },
{ '<leader>mp', meta.goto_prev, desc = 'Previous' },
{ '<leader>e', group = 'idris evaluate' },
{ '<leader>ee', repl.evaluate, desc = 'Expression' },
{
'<leader>ev',
function() repl.evaluate({ visual = true}) end,
desc = 'Visual selection',
mode = 'v',
group = 'idris evaluate'
},
{
'<leader>er',
function() repl.evaluate({ visual = true, sub = true}) end,
desc = 'Replace selection',
mode = 'v'
},
})
end
}
})
end
}
}

View file

@ -0,0 +1,16 @@
return {
{
'Julian/lean.nvim',
event = { 'BufReadPre *.lean', 'BufNewFile *.lean' },
dependencies = {
'neovim/nvim-lspconfig',
'nvim-lua/plenary.nvim',
},
opts = {
lsp = {},
mappings = true,
}
}
}

View file

@ -0,0 +1,28 @@
return {}
-- return {
-- {
-- "jinzhongjia/zig-lamp",
-- event = "VeryLazy",
-- build = ":ZigLamp build sync",
-- dependencies = {
-- "neovim/nvim-lspconfig",
-- "nvim-lua/plenary.nvim",
-- },
-- init = function()
-- -- Timeout in milliseconds for automatic ZLS installation
-- -- Set to nil to disable auto-install
-- vim.g.zig_lamp_zls_auto_install = nil
--
-- -- Fallback to system ZLS if local version not found
-- -- Set to any non-negative value to enable
-- vim.g.zig_lamp_fall_back_sys_zls = nil
--
-- -- LSP configuration options passed to lspconfig
-- vim.g.zig_lamp_zls_lsp_opt = {}
--
-- -- UI customization
-- vim.g.zig_lamp_pkg_help_fg = "#CF5C00"
-- vim.g.zig_lamp_zig_fetch_timeout = 5000
-- end,
-- }
-- }

View file

@ -5,6 +5,29 @@ return {
local capabilities = require('cmp_nvim_lsp').default_capabilities() local capabilities = require('cmp_nvim_lsp').default_capabilities()
local wk = require('which-key') local wk = require('which-key')
vim.lsp.enable('ocamllsp')
vim.lsp.config('ocamllsp', {
capabilities = capabilities
})
vim.lsp.enable('tinymist')
vim.lsp.config('tinymist', {
settings = {
formatterMode = "typstyle",
exportPdf = "onType",
semanticTokens = "disable",
}
})
vim.lsp.enable('millet')
vim.lsp.config('millet', {
root_dir = function(fname)
local util = vim.lsp.config.util
return util.root_pattern(".cm", ".mlb")(fname)
or util.path.dirname(fname)
end
})
vim.lsp.enable('clangd') vim.lsp.enable('clangd')
vim.lsp.config('clangd', { vim.lsp.config('clangd', {
capabilities = capabilities capabilities = capabilities
@ -37,12 +60,24 @@ return {
}) })
end, end,
dependencies = { dependencies = {
'ray-x/lsp_signature.nvim',
'hrsh7th/nvim-cmp', 'hrsh7th/nvim-cmp',
} }
}, },
{
'ray-x/lsp_signature.nvim',
event = 'VeryLazy',
opts = {
hind_prefix = 'λ ',
},
},
{ {
'j-hui/fidget.nvim', 'j-hui/fidget.nvim',
config = true, config = true,
event = 'VeryLazy', event = 'VeryLazy',
}, },
{
'onsails/lspkind.nvim',
event = 'VeryLazy',
}
} }

View file

@ -1,4 +1,8 @@
return { return {
{
'stevearc/dressing.nvim',
opts = {},
},
{ {
"nvim-neo-tree/neo-tree.nvim", "nvim-neo-tree/neo-tree.nvim",
branch = "v3.x", branch = "v3.x",

View file

@ -5,6 +5,10 @@ return {
event = 'VeryLazy', event = 'VeryLazy',
config = true, config = true,
}, },
{
'mateuszwieloch/automkdir.nvim',
event = 'VeryLazy',
},
{ {
'NeogitOrg/neogit', 'NeogitOrg/neogit',
dependencies = { dependencies = {
@ -68,4 +72,28 @@ return {
navigator.setup() navigator.setup()
end end
}, },
{
'echasnovski/mini.align',
version = false,
opts = {
-- modifiers = {
-- i = function(steps, _)
-- table.insert(steps.pre_split, align.gen_step.ignore_split({ '".-"', "'.-'", '(.-)' }))
-- end
-- }
}
},
{
'stevearc/conform.nvim',
opts = {
formatters_by_ft = {
rust = { 'rustfmt', lsp_format = 'fallback' },
sml = { 'smlfmt' },
},
format_on_save = {
timeout_ms = 500,
lsp_format = 'fallback',
}
}
}
} }

View file

@ -2,7 +2,7 @@
prefix=$HOME/Nextcloud/Books/ prefix=$HOME/Nextcloud/Books/
dmenu="bemenu -p books --center --list 20 down --width-factor 0.5 --border 2 --bdr #fabd2f" dmenu="bemenu -p books --center --list 20 down --width-factor 0.5 --border 2 --bdr #fabd2f"
pdf=sioyek pdf=zathura
choice=$(find $prefix -type f | sed "s|$prefix||;s/_/ /g" | $dmenu) choice=$(find $prefix -type f | sed "s|$prefix||;s/_/ /g" | $dmenu)

View file

@ -2,7 +2,7 @@
prefix=$HOME/Nextcloud/Papers/ prefix=$HOME/Nextcloud/Papers/
dmenu="bemenu -p papers --center --list 20 down --width-factor 0.5 --border 2 --bdr #fabd2f" dmenu="bemenu -p papers --center --list 20 down --width-factor 0.5 --border 2 --bdr #fabd2f"
pdf=sioyek pdf=zathura
choice=$(find $prefix -type f | sed "s|$prefix||;s/_/ /g" | $dmenu) choice=$(find $prefix -type f | sed "s|$prefix||;s/_/ /g" | $dmenu)

View file

@ -1,62 +1,62 @@
* { * {
font-size: 20px; font-size: 20px;
font-family: Iosevka Nerd Font; font-family: Iosevka Nerd Font;
border-radius: 0; border-radius: 0;
} }
window#waybar { window#waybar {
background: #282828; background: #282828;
color: #ebdbb2; color: #ebdbb2;
} }
#workspaces button { #workspaces button {
color: #ebdbb2; color: #ebdbb2;
} }
#workspaces button.focused { #workspaces button.focused {
color: #fabd2f; color: #fabd2f;
} }
#tags button { #tags button {
color: #ebdbb2; color: #ebdbb2;
} }
#tags button.occupied { #tags button.occupied {
color: #fe8019; color: #fe8019;
} }
#tags button.focused { #tags button.focused {
color: #282828; color: #282828;
background: #fabd2f; background: #fabd2f;
} }
#tags button.urgent { #tags button.urgent {
color: #282828; color: #282828;
background: #fb4934; background: #fb4934;
} }
#clock, #clock,
#pulseaudio, #pulseaudio,
#battery, #battery,
#tray { #tray {
background: transparent; background: transparent;
} }
#language { #language {
color: #fabd2f; color: #fabd2f;
} }
#wireplumber, #wireplumber,
#pulseaudio { #pulseaudio {
color: #fb4934; color: #fb4934;
} }
#network { #network {
color: #b8bb26; color: #b8bb26;
} }
#battery { #battery {
color: #83a598; color: #83a598;
} }
#clock, #clock,
@ -66,5 +66,5 @@ window#waybar {
#battery, #battery,
#wireplumber, #wireplumber,
#disk { #disk {
padding: 0 10px; padding: 0 10px;
} }

View file

@ -5,9 +5,7 @@ export PATH="$HOME/.local/share/cargo/bin:$HOME/.cache/cabal/bin:$HOME/.local/bi
# Bemenu # Bemenu
export BEMENU_OPTS='--ignorecase --fb "#282828" --ff "#ebdbb2" --nb "#282828" --nf "#ebdbb2" --tb "#282828" --hb "#282828" --tf "#fb4934" --hf "#fabd2f" --nf "#ebdbb2" --af "#ebdbb2" --ab "#282828" --fn "Iosevka Nerd Font 16" --no-overlap --wrap' export BEMENU_OPTS='--ignorecase --fb "#282828" --ff "#ebdbb2" --nb "#282828" --nf "#ebdbb2" --tb "#282828" --hb "#282828" --tf "#fb4934" --hf "#fabd2f" --nf "#ebdbb2" --af "#ebdbb2" --ab "#282828" --fn "Iosevka Nerd Font 16" --no-overlap --wrap'
# export BEMENU_OPTS='--ignorecase --fb "#1e1e2e" --ff "#cdd6f4" --nb "#1e1e2e" --nf "#cdd6f4" --tb "#1e1e2e" --hb "#1e1e2e" --tf "#f5c2e7" --hf "#f9e2af" --af "#cdd6f4" --ab "#1e1e2e" --fn "Iosevka Nerd Font 16" --no-overlap --wrap'
# fzf
export FZF_DEFAULT_OPTS='--color=fg:#ebdbb2,bg:#282828,hl:#b16286 --color=fg+:#689d6a,bg+:#32302f,hl+:#d3869b --color=info:#d65d0e,prompt:#458588,pointer:#fe8019 --color=marker:#8ec07c,spinner:#cc241d,header:#fabd2f'
# XDG directories # XDG directories
export XDG_CACHE_HOME="$HOME/.cache" export XDG_CACHE_HOME="$HOME/.cache"