mirror of
https://github.com/nix-community/nixvim.git
synced 2025-06-24 09:48:42 +02:00
plugins/headlines: init
This commit is contained in:
parent
6d1ef5864b
commit
0c16f59202
3 changed files with 235 additions and 0 deletions
|
@ -109,6 +109,7 @@
|
||||||
|
|
||||||
./telescope
|
./telescope
|
||||||
|
|
||||||
|
./ui/headlines.nix
|
||||||
./ui/image.nix
|
./ui/image.nix
|
||||||
./ui/neoscroll.nix
|
./ui/neoscroll.nix
|
||||||
./ui/noice.nix
|
./ui/noice.nix
|
||||||
|
|
30
plugins/ui/headlines.nix
Normal file
30
plugins/ui/headlines.nix
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
helpers,
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib;
|
||||||
|
helpers.neovim-plugin.mkNeovimPlugin config {
|
||||||
|
name = "headlines";
|
||||||
|
originalName = "headlines.nvim";
|
||||||
|
defaultPackage = pkgs.vimPlugins.headlines-nvim;
|
||||||
|
|
||||||
|
maintainers = [maintainers.GaetanLepage];
|
||||||
|
|
||||||
|
settingsExample = {
|
||||||
|
org.headline_highlights = false;
|
||||||
|
norg = {
|
||||||
|
headline_highlights = ["Headline"];
|
||||||
|
codeblock_highlight = false;
|
||||||
|
};
|
||||||
|
markdown.headline_highlights = ["Headline1"];
|
||||||
|
};
|
||||||
|
|
||||||
|
extraConfig = cfg: {
|
||||||
|
warnings = optional (!config.plugins.treesitter.enable) ''
|
||||||
|
Nixvim (plugins.headlines): headlines requires `plugins.treesitter` to be enabled with the relevant grammars installed.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
204
tests/test-sources/plugins/ui/headlines.nix
Normal file
204
tests/test-sources/plugins/ui/headlines.nix
Normal file
|
@ -0,0 +1,204 @@
|
||||||
|
{
|
||||||
|
empty = {
|
||||||
|
plugins = {
|
||||||
|
treesitter.enable = true;
|
||||||
|
headlines.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
defaults = {
|
||||||
|
plugins = {
|
||||||
|
treesitter.enable = true;
|
||||||
|
headlines = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
settings = {
|
||||||
|
markdown = {
|
||||||
|
query.__raw = ''
|
||||||
|
vim.treesitter.query.parse(
|
||||||
|
"markdown",
|
||||||
|
[[
|
||||||
|
(atx_heading [
|
||||||
|
(atx_h1_marker)
|
||||||
|
(atx_h2_marker)
|
||||||
|
(atx_h3_marker)
|
||||||
|
(atx_h4_marker)
|
||||||
|
(atx_h5_marker)
|
||||||
|
(atx_h6_marker)
|
||||||
|
] @headline)
|
||||||
|
|
||||||
|
(thematic_break) @dash
|
||||||
|
|
||||||
|
(fenced_code_block) @codeblock
|
||||||
|
|
||||||
|
(block_quote_marker) @quote
|
||||||
|
(block_quote (paragraph (inline (block_continuation) @quote)))
|
||||||
|
(block_quote (paragraph (block_continuation) @quote))
|
||||||
|
(block_quote (block_continuation) @quote)
|
||||||
|
]]
|
||||||
|
)
|
||||||
|
'';
|
||||||
|
headline_highlights = ["Headline"];
|
||||||
|
bullet_highlights = [
|
||||||
|
"@text.title.1.marker.markdown"
|
||||||
|
"@text.title.2.marker.markdown"
|
||||||
|
"@text.title.3.marker.markdown"
|
||||||
|
"@text.title.4.marker.markdown"
|
||||||
|
"@text.title.5.marker.markdown"
|
||||||
|
"@text.title.6.marker.markdown"
|
||||||
|
];
|
||||||
|
bullets = ["◉" "○" "✸" "✿"];
|
||||||
|
codeblock_highlight = "CodeBlock";
|
||||||
|
dash_highlight = "Dash";
|
||||||
|
dash_string = "-";
|
||||||
|
quote_highlight = "Quote";
|
||||||
|
quote_string = "┃";
|
||||||
|
fat_headlines = true;
|
||||||
|
fat_headline_upper_string = "▃";
|
||||||
|
fat_headline_lower_string = "🬂";
|
||||||
|
};
|
||||||
|
rmd = {
|
||||||
|
query.__raw = ''
|
||||||
|
vim.treesitter.query.parse(
|
||||||
|
"markdown",
|
||||||
|
[[
|
||||||
|
(atx_heading [
|
||||||
|
(atx_h1_marker)
|
||||||
|
(atx_h2_marker)
|
||||||
|
(atx_h3_marker)
|
||||||
|
(atx_h4_marker)
|
||||||
|
(atx_h5_marker)
|
||||||
|
(atx_h6_marker)
|
||||||
|
] @headline)
|
||||||
|
|
||||||
|
(thematic_break) @dash
|
||||||
|
|
||||||
|
(fenced_code_block) @codeblock
|
||||||
|
|
||||||
|
(block_quote_marker) @quote
|
||||||
|
(block_quote (paragraph (inline (block_continuation) @quote)))
|
||||||
|
(block_quote (paragraph (block_continuation) @quote))
|
||||||
|
(block_quote (block_continuation) @quote)
|
||||||
|
]]
|
||||||
|
)
|
||||||
|
'';
|
||||||
|
treesitter_language = "markdown";
|
||||||
|
headline_highlights = ["Headline"];
|
||||||
|
bullet_highlights = [
|
||||||
|
"@text.title.1.marker.markdown"
|
||||||
|
"@text.title.2.marker.markdown"
|
||||||
|
"@text.title.3.marker.markdown"
|
||||||
|
"@text.title.4.marker.markdown"
|
||||||
|
"@text.title.5.marker.markdown"
|
||||||
|
"@text.title.6.marker.markdown"
|
||||||
|
];
|
||||||
|
bullets = ["◉" "○" "✸" "✿"];
|
||||||
|
codeblock_highlight = "CodeBlock";
|
||||||
|
dash_highlight = "Dash";
|
||||||
|
dash_string = "-";
|
||||||
|
quote_highlight = "Quote";
|
||||||
|
quote_string = "┃";
|
||||||
|
fat_headlines = true;
|
||||||
|
fat_headline_upper_string = "▃";
|
||||||
|
fat_headline_lower_string = "🬂";
|
||||||
|
};
|
||||||
|
norg = {
|
||||||
|
query = ''
|
||||||
|
vim.treesitter.query.parse(
|
||||||
|
"norg",
|
||||||
|
[[
|
||||||
|
[
|
||||||
|
(heading1_prefix)
|
||||||
|
(heading2_prefix)
|
||||||
|
(heading3_prefix)
|
||||||
|
(heading4_prefix)
|
||||||
|
(heading5_prefix)
|
||||||
|
(heading6_prefix)
|
||||||
|
] @headline
|
||||||
|
|
||||||
|
(weak_paragraph_delimiter) @dash
|
||||||
|
(strong_paragraph_delimiter) @doubledash
|
||||||
|
|
||||||
|
([(ranged_tag
|
||||||
|
name: (tag_name) @_name
|
||||||
|
(#eq? @_name "code")
|
||||||
|
)
|
||||||
|
(ranged_verbatim_tag
|
||||||
|
name: (tag_name) @_name
|
||||||
|
(#eq? @_name "code")
|
||||||
|
)] @codeblock (#offset! @codeblock 0 0 1 0))
|
||||||
|
|
||||||
|
(quote1_prefix) @quote
|
||||||
|
]]
|
||||||
|
)
|
||||||
|
'';
|
||||||
|
headline_highlights = ["Headline"];
|
||||||
|
bullet_highlights = [
|
||||||
|
"@neorg.headings.1.prefix"
|
||||||
|
"@neorg.headings.2.prefix"
|
||||||
|
"@neorg.headings.3.prefix"
|
||||||
|
"@neorg.headings.4.prefix"
|
||||||
|
"@neorg.headings.5.prefix"
|
||||||
|
"@neorg.headings.6.prefix"
|
||||||
|
];
|
||||||
|
bullets = ["◉" "○" "✸" "✿"];
|
||||||
|
codeblock_highlight = "CodeBlock";
|
||||||
|
dash_highlight = "Dash";
|
||||||
|
dash_string = "-";
|
||||||
|
doubledash_highlight = "DoubleDash";
|
||||||
|
doubledash_string = "=";
|
||||||
|
quote_highlight = "Quote";
|
||||||
|
quote_string = "┃";
|
||||||
|
fat_headlines = true;
|
||||||
|
fat_headline_upper_string = "▃";
|
||||||
|
fat_headline_lower_string = "🬂";
|
||||||
|
};
|
||||||
|
org = {
|
||||||
|
query.__raw = ''
|
||||||
|
vim.treesitter.query.parse(
|
||||||
|
"org",
|
||||||
|
[[
|
||||||
|
(headline (stars) @headline)
|
||||||
|
|
||||||
|
(
|
||||||
|
(expr) @dash
|
||||||
|
(#match? @dash "^-----+$")
|
||||||
|
)
|
||||||
|
|
||||||
|
(block
|
||||||
|
name: (expr) @_name
|
||||||
|
(#match? @_name "(SRC|src)")
|
||||||
|
) @codeblock
|
||||||
|
|
||||||
|
(paragraph . (expr) @quote
|
||||||
|
(#eq? @quote ">")
|
||||||
|
)
|
||||||
|
]]
|
||||||
|
)
|
||||||
|
'';
|
||||||
|
headline_highlights = ["Headline"];
|
||||||
|
bullet_highlights = [
|
||||||
|
"@org.headline.level1"
|
||||||
|
"@org.headline.level2"
|
||||||
|
"@org.headline.level3"
|
||||||
|
"@org.headline.level4"
|
||||||
|
"@org.headline.level5"
|
||||||
|
"@org.headline.level6"
|
||||||
|
"@org.headline.level7"
|
||||||
|
"@org.headline.level8"
|
||||||
|
];
|
||||||
|
bullets = ["◉" "○" "✸" "✿"];
|
||||||
|
codeblock_highlight = "CodeBlock";
|
||||||
|
dash_highlight = "Dash";
|
||||||
|
dash_string = "-";
|
||||||
|
quote_highlight = "Quote";
|
||||||
|
quote_string = "┃";
|
||||||
|
fat_headlines = true;
|
||||||
|
fat_headline_upper_string = "▃";
|
||||||
|
fat_headline_lower_string = "🬂";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue