mirror of
https://github.com/js0ny/dotfiles.git
synced 2025-12-21 00:33:00 +00:00
nvim: config upgrade and add verilog support
This commit is contained in:
parent
05c0b65b3b
commit
7540d37422
6 changed files with 77 additions and 11 deletions
9
home/dot_config/nvim/lsp/svls.lua
Normal file
9
home/dot_config/nvim/lsp/svls.lua
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
-- SystemVerilog
|
||||
--[[ Installation
|
||||
cargo install svls
|
||||
--]]
|
||||
return {
|
||||
cmd = { "svls" },
|
||||
filetypes = { "systemverilog", "verilog" },
|
||||
root_markers = { ".svls.toml" }
|
||||
}
|
||||
|
|
@ -3,5 +3,6 @@ local signs = require("config.icons").diagnostics
|
|||
-- This provides the diagnostics signs near the line numbers
|
||||
for type, icon in pairs(signs) do
|
||||
local hl = "DiagnosticSign" .. type
|
||||
vim.fn.sign_define(hl, { text = icon, texthl = hl, numhl = "" })
|
||||
-- vim.fn.sign_define(hl, { text = icon, texthl = hl, numhl = "" })
|
||||
vim.diagnostic.config(hl, { text = icon, texthl = hl, numhl = "" })
|
||||
end
|
||||
|
|
|
|||
|
|
@ -6,17 +6,8 @@ return {
|
|||
{ import = "plugins.lang.beancount" },
|
||||
{ import = "plugins.lang.tex" },
|
||||
{ import = "plugins.lang.lua" },
|
||||
{ import = "plugins.lang.verilog" },
|
||||
{ import = "plugins.lang.treesitter" },
|
||||
{ import = "plugins.mod.trouble-nvim" },
|
||||
-- Remove mason and use system package manager
|
||||
-- {
|
||||
-- "williamboman/mason.nvim",
|
||||
-- cmd = "Mason",
|
||||
-- build = ":MasonUpdate",
|
||||
-- -- opts_extend = { "ensure_installed" },
|
||||
-- opts = {
|
||||
-- -- ensure_installed = require("config.servers").servers,
|
||||
-- },
|
||||
-- },
|
||||
{ import = "plugins.mod.conform-nvim" },
|
||||
}
|
||||
|
|
|
|||
8
home/dot_config/nvim/lua/plugins/lang/verilog.lua
Normal file
8
home/dot_config/nvim/lua/plugins/lang/verilog.lua
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
vim.api.nvim_create_autocmd({ "BufRead", "BufNewFile" }, {
|
||||
pattern = "*.v",
|
||||
callback = function()
|
||||
vim.bo.filetype = "verilog"
|
||||
end,
|
||||
})
|
||||
|
||||
return {}
|
||||
|
|
@ -4,6 +4,8 @@
|
|||
iverilog # Simulator: Icarus Verilog
|
||||
gtkwave # Waveform Viewer
|
||||
picocom
|
||||
verible # LSP
|
||||
svls # LSP
|
||||
];
|
||||
|
||||
programs.zed-editor.extensions = ["verilog"];
|
||||
|
|
|
|||
55
nixcfgs/users/js0ny/programs/fzf.nix
Normal file
55
nixcfgs/users/js0ny/programs/fzf.nix
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
{...}: let
|
||||
editFzfPosix = ''
|
||||
edit-fzf() {
|
||||
# 1. Declare a variable that is local to the function.
|
||||
local _file
|
||||
|
||||
if command -v fd >/dev/null 2>&1; then
|
||||
_file=$(fd --type f | fzf --height 40% --reverse)
|
||||
else
|
||||
# Fallback to 'find'
|
||||
_file=$(find . -type f | fzf --height 40% --reverse)
|
||||
fi
|
||||
|
||||
# In POSIX shell, if fzf is cancelled (Esc/Ctrl-C),
|
||||
# the command substitution simply returns an empty string.
|
||||
# So, we check if the variable '_file' is non-empty ('-n').
|
||||
if [ -n "$_file" ]; then
|
||||
"$EDITOR" "$_file"
|
||||
else
|
||||
echo "No file selected."
|
||||
fi
|
||||
}
|
||||
alias ef="edit-fzf"
|
||||
'';
|
||||
in {
|
||||
programs.fzf = {
|
||||
enable = true;
|
||||
enableBashIntegration = true;
|
||||
enableZshIntegration = true;
|
||||
enableFishIntegration = true;
|
||||
};
|
||||
programs.fish.interactiveShellInit = ''
|
||||
function edit-fzf --description "Find and edit a file using fzf and $EDITOR"
|
||||
set -l file
|
||||
|
||||
if command -q fd
|
||||
set file (fd --type f | fzf --height 40% --reverse)
|
||||
else
|
||||
set file (find . -type f | fzf --height 40% --reverse)
|
||||
end
|
||||
|
||||
set -l fzf_status $status
|
||||
|
||||
if test $fzf_status -eq 0; and test -n "$file"
|
||||
$EDITOR $file
|
||||
else
|
||||
echo "No file selected."
|
||||
end
|
||||
end
|
||||
abbr --add ef edit-fzf
|
||||
'';
|
||||
# TODO: Add integraiton for bash, zsh
|
||||
programs.bash.bashrcExtra = editFzfPosix;
|
||||
programs.zsh.initContent = editFzfPosix;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue