vim: Configure fugitive-gitlab

This commit is contained in:
Geoffrey Frogeye 2024-01-18 22:49:46 +01:00
parent 46db2dd34f
commit fdf6725dc9
Signed by: geoffrey
GPG key ID: C72403E7F82E6AD8
3 changed files with 28 additions and 23 deletions

View file

@ -108,6 +108,7 @@
inv = invidious; inv = invidious;
nixos = "https://search.nixos.org/options?channel=${config.home.version.release}&query={}"; nixos = "https://search.nixos.org/options?channel=${config.home.version.release}&query={}";
nixpkgs = "https://search.nixos.org/packages?channel=${config.home.version.release}&query={}"; nixpkgs = "https://search.nixos.org/packages?channel=${config.home.version.release}&query={}";
noogle = "https://noogle.dev/q?term={}";
npm = "https://www.npmjs.com/search?q={}"; npm = "https://www.npmjs.com/search?q={}";
os = nixos; os = nixos;
pkgs = nixpkgs; pkgs = nixpkgs;

View file

@ -52,9 +52,6 @@
gC = "commands"; gC = "commands";
gr = "lsp_references"; gr = "lsp_references";
ge = "diagnostics"; ge = "diagnostics";
# ga = "lsp_code_actions";
# gE = "lsp_workspace_diagnostics";
# TODO Above makes nvim crash on startup, action is not provided
gd = "lsp_definitions"; gd = "lsp_definitions";
gs = "lsp_document_symbols"; gs = "lsp_document_symbols";
}; };
@ -83,10 +80,6 @@
undotree.enable = true; # Navigate edition history undotree.enable = true; # Navigate edition history
# Git
fugitive.enable = true; # Git basics
gitsigns.enable = true; # Show changed lines in the gutter
}; };
extraPlugins = with pkgs.vimPlugins; [ extraPlugins = with pkgs.vimPlugins; [
# Search/replace # Search/replace
@ -96,19 +89,6 @@
# Surrounding pairs # Surrounding pairs
targets-vim # Better interaction with surrounding pairs targets-vim # Better interaction with surrounding pairs
# Registers
registers-nvim # Show register content when pressing "
# TODO Doesn't work. Didn't work on Arch either
# Tags
vim-gutentags # Generate tags
symbols-outline-nvim # Show a symbol panel on the right
# TODO Fails on startup. Same on Arch. Config issue?
# Git
fugitive-gitlab-vim # Open files in GitLab
# TODO Connect it!
# Language-specific # Language-specific
tcomment_vim # Language-aware (un)commenting tcomment_vim # Language-aware (un)commenting
] ++ lib.optionals config.frogeye.extra [ ] ++ lib.optionals config.frogeye.extra [
@ -129,9 +109,6 @@
command Reload source $MYVIMRC command Reload source $MYVIMRC
" PLUGINS " PLUGINS
" vim-gutentags
let g:gutentags_cache_dir = expand('~/.cache/nvim/tags')
'' + lib.optionalString config.frogeye.extra '' '' + lib.optionalString config.frogeye.extra ''
" languagetool " languagetool
let g:languagetool_cmd = "${pkgs.languagetool}/bin/languagetool-commandline" let g:languagetool_cmd = "${pkgs.languagetool}/bin/languagetool-commandline"
@ -189,6 +166,7 @@
./code.nix ./code.nix
./completion.nix ./completion.nix
./decoration.nix ./decoration.nix
./git.nix
./lsp.nix ./lsp.nix
]; ];
} }

26
hm/vim/git.nix Normal file
View file

@ -0,0 +1,26 @@
{ pkgs, lib, config, ... }:
{
config = {
programs.nixvim = {
extraConfigVim = ''
let g:fugitive_gitlab_domains = [${
lib.strings.concatStringsSep ", " (
map (d: "'${d}'") config.frogeye.vim.fugitive.gitlab_domains
)}]
'';
extraPlugins = with pkgs.vimPlugins; [
fugitive-gitlab-vim # Open files in GitLab
];
plugins = {
fugitive.enable = true; # Git basics
gitsigns.enable = true; # Show changed lines in the gutter
};
};
};
options.frogeye.vim.fugitive = {
gitlab_domains = lib.mkOption {
default = { };
type = lib.types.listOf lib.types.str;
};
};
}