From 55008ce5288b5ef16d9021a5639507b1593adb23 Mon Sep 17 00:00:00 2001 From: Michael Flossmann Date: Thu, 22 Aug 2024 09:54:35 +0200 Subject: [PATCH] add aerial --- plugins/aerial/default.nix | 51 ++++++++++++++++++++++++++++++++++++++ plugins/aerial/package.nix | 21 ++++++++++++++++ 2 files changed, 72 insertions(+) create mode 100644 plugins/aerial/default.nix create mode 100644 plugins/aerial/package.nix diff --git a/plugins/aerial/default.nix b/plugins/aerial/default.nix new file mode 100644 index 0000000..8da602b --- /dev/null +++ b/plugins/aerial/default.nix @@ -0,0 +1,51 @@ +{ lib, pkgs, ...}: +{ + extra = { + packages = [ + (import ./package.nix { inherit lib pkgs; }) + ]; + + config = '' + require("aerial").setup({ + backends = { "lsp", "treesitter", "markdown", "man" }, + layout = { min_width = 28, placement = "edge" }, + show_guides = true, + filter_kind = false, + + guides = { + mid_item = "├ ", + last_item = "└ ", + nested_top = "│ ", + whitespace = " ", + }, + autojump = true, + keymaps = { + ["[y"] = "actions.prev", + ["]y"] = "actions.next", + ["[Y"] = "actions.prev_up", + ["]Y"] = "actions.next_up", + ["{"] = false, + ["}"] = false, + ["[["] = false, + ["]]"] = false, + }, + attach_mode = "global", + }) + ''; + }; + + rootOpts.keymaps = [ + { + mode = "n"; + key = "lo"; + action.__raw = ''function() require("aerial").toggle() end''; + options.desc = "Symbols outline"; + } + { + mode = "n"; + key = "fs"; + action.__raw = ''require("telescope").extensions.aerial.aerial''; + options.desc = "Find symbols"; + } + ]; +} diff --git a/plugins/aerial/package.nix b/plugins/aerial/package.nix new file mode 100644 index 0000000..826cb31 --- /dev/null +++ b/plugins/aerial/package.nix @@ -0,0 +1,21 @@ +{ pkgs, ...}: +let + version = "2.1.0"; +in +pkgs.vimUtils.buildVimPlugin { + inherit version; + + name = "aerial"; + + # src = pkgs.fetchFromGitHub { + # owner = "stevearc"; + # repo = "aerial.nvim"; + # rev = "v${version}"; + # hash = "sha256:0ip8xmncp82svlbkphlas88xjvzrpzyy5b1c9x06dqbm4ifai0va"; + # }; + + src = builtins.fetchTarball { + url = "http://github.com/stevearc/aerial.nvim/archive/v2.1.0.tar.gz"; + sha256 = "sha256:0ip8xmncp82svlbkphlas88xjvzrpzyy5b1c9x06dqbm4ifai0va"; + }; +}