telescope-nvim: init

This commit is contained in:
Pedro Alves 2021-03-17 21:50:35 +00:00
parent 5474eba2fb
commit 080c8af710
3 changed files with 69 additions and 0 deletions

View file

@ -39,7 +39,12 @@
enable = true; enable = true;
}; };
extraPlugins = [
pkgs.vimPlugins.vim-nix
];
options.number = true; options.number = true;
options.mouse = "a";
maps.normalVisualOp."ç" = ":"; maps.normalVisualOp."ç" = ":";
@ -65,6 +70,13 @@
servers.clangd.enable = true; servers.clangd.enable = true;
}; };
plugins.telescope = {
enable = true;
extensions = {
frecency.enable = true;
};
};
globals = { globals = {
vimsyn_embed = "l"; vimsyn_embed = "l";
mapleader = " "; mapleader = " ";

View file

@ -13,6 +13,7 @@
./utils/startify.nix ./utils/startify.nix
./utils/goyo.nix ./utils/goyo.nix
./utils/endwise.nix ./utils/endwise.nix
./utils/telescope.nix
./languages/treesitter.nix ./languages/treesitter.nix
./languages/nix.nix ./languages/nix.nix

View file

@ -0,0 +1,56 @@
{ pkgs, config, lib, ... }:
with lib;
let
cfg = config.programs.nixvim.plugins.telescope;
in
{
# TODO Add support for aditional filetypes. This requires autocommands!
options.programs.nixvim.plugins.telescope = {
enable = mkEnableOption "Enable telescope.nvim";
highlightTheme = mkOption {
default = config.programs.nixvim.colorscheme;
type = types.nullOr types.str;
description = "The colorscheme to use for syntax highlighting";
};
extensions = {
frecency = {
enable = mkEnableOption "Enable telescope-frecency";
};
};
};
config = let
extensionPlugins = with cfg.extensions; with pkgs.vimPlugins;
(optional frecency.enable telescope-frecency-nvim) ++
(optional frecency.enable sql-nvim);
extensionPackages = with cfg.extensions; with pkgs;
(optional frecency.enable sqlite);
extensions = with cfg.extensions;
(optional frecency.enable "frecency");
loadExtensions = "require('telescope')" + (concatMapStrings (e: ".load_extension('${e}')") extensions);
in mkIf cfg.enable {
programs.nixvim = {
extraPackages = with pkgs; [
bat
] ++ extensionPackages;
extraPlugins = with pkgs.vimPlugins; [
telescope-nvim
plenary-nvim
popup-nvim
] ++ extensionPlugins;
extraConfigVim = mkIf (cfg.highlightTheme != null) ''
let $BAT_THEME = '${cfg.highlightTheme}'
'';
extraConfigLua = mkIf (extensions != []) loadExtensions;
};
};
}