From c5d8e6610e5b968460bd106402cd275d85f85ada Mon Sep 17 00:00:00 2001 From: urosm Date: Wed, 14 Feb 2024 15:32:19 +0100 Subject: [PATCH] update `nvim` config --- .config/nvim/colors/basic.lua | 2 + .config/nvim/syntax/markdown.vim | 204 +++---------------------------- 2 files changed, 16 insertions(+), 190 deletions(-) diff --git a/.config/nvim/colors/basic.lua b/.config/nvim/colors/basic.lua index 958ced7..752b4e4 100644 --- a/.config/nvim/colors/basic.lua +++ b/.config/nvim/colors/basic.lua @@ -277,6 +277,7 @@ local syntax_warn_h = H:new():fg(black_c):bg(orange_c) local syntax_italic_h = H:new():attr("italic") local syntax_bold_h = H:new():attr("bold") local syntax_bolditalic_h = H:new():attr("bold"):attr("italic") +local syntax_strike_h = H:new():attr("strikethrough") set_hl("Comment", syntax_comment_h) set_hl("Constant", syntax_constant_h) @@ -317,6 +318,7 @@ set_hl("Todo", syntax_warn_h) set_hl("Italic", syntax_italic_h) set_hl("Bold", syntax_bold_h) set_hl("BoldItalic", syntax_bolditalic_h) +set_hl("Strike", syntax_strike_h) -- markdown -------------------------------------------------------------------- local markdown_label_h = H:new():fg(magenta_c) diff --git a/.config/nvim/syntax/markdown.vim b/.config/nvim/syntax/markdown.vim index 2a9f944..ea97471 100644 --- a/.config/nvim/syntax/markdown.vim +++ b/.config/nvim/syntax/markdown.vim @@ -1,7 +1,7 @@ " Vim syntax file " Language: Markdown " Maintainer: urosm -" Last Change: 2024 Jan 13 +" Last Change: 2024 Feb 14 if exists("b:current_syntax") finish @@ -9,202 +9,17 @@ endif syntax spell toplevel -" html -runtime! syntax/html.vim -unlet! b:current_syntax - -" setext heading -syn match markdownSetexHeading /\%(\%^\|^\n\)\@2<=.\+\n[=-]\+\%(\n$\|\%$\)\@=/ contains=@markdownInline,markdownSetextHeadingDelimiter,markdownHeadingAttribute -syn match markdownSetextHeadingDelimiter /^[=-]\+$/ contained -hi def link markdownSetextHeadingDelimiter markdownDelimiter - -" atx heading -syn match markdownAtxHeading /\%(\%^\|^\n\)\@2<=#\{1,6} .*\%(\n$\|\%$\)\@=/ contains=@markdownInline,markdownAtxHeadingDelimiter,markdownHeadingAttribute -syn match markdownAtxHeadingDelimiter /^#\{1,6}/ contained -hi def link markdownAtxHeadingDelimiter markdownDelimiter - -" heading identifier -syn match markdownHeadingAttribute /.*\zs{.\{-}}$/ contained -hi def link markdownHeadingAttribute markdownDelimiter - -" block quotation -syn region markdownBlockquote start=/\%(\%^\|^\n\)\@2<= \{,3}>/ end=/\%(\n$\|\%$\)\@=/ contains=markdownBlockquoteDelimiter -syn match markdownBlockquoteDelimiter /^\%(\s*>\)\+/ contained -hi def link markdownBlockquoteDelimiter markdownDelimiter - -" indented code block -"syn match markdownIndentedCodeBlock /\%(\%^\|^\n\)\@2<=\%(^\%( \{4,}\|\t\).*\n\)\+\%($\|\%$\)\@=/ -"hi def link markdownIndentedCodeBlock markdownSpecial - -" fenced code block -"syn region markdownFencedCodeBlock start=/^\z(\~\{3,}\~*\)/ end=/^\z1\~*$/ keepend contains=markdownFencedCodeBlockDelimiter -"syn region markdownFencedCodeBlock start=/^\z(\`\{3,}\`*\)/ end=/^\z1\`*$/ keepend contains=markdownFencedCodeBlockDelimiter -"hi def link markdownFencedCodeBlock markdownSpecial - -" line block -"syn match markdownLineBlock /\%(\%^\|^\n\)\@2<=|.*\n\%(^\%(|\| \).*\n\)*\%($\|\%$\)\@=/ contains=markdownLineBlockDelimiter -"syn match markdownLineBlockDelimiter /^|/ contained -"hi def link markdownLineBlockDelimiter markdownDelimiter - -" bullet list -"syn region markdownBulletList start=/\%(\%^\|^\n\)\@2<= \{,3}[*+-] / end=/\%(\n\n\S\)\@=/ contains=markdownBulletListDelimiter,markdownOrderedList,markdownOrderedListDelimiter,markdownBlockquote,markdownBlockquoteDelimiter -"syn match markdownBulletListDelimiter /^\s*\zs[*+-]/ contained -"hi def link markdownBulletListDelimiter markdownDelimiter - -" ordered list -"syn region markdownOrderedList start=/\%(\%^\|^\n\)\@2<= \{,3}\%(\%(\d\+\|\l\|\#\|@\)\. \|(\=\%(\d\+\|\l\|\#\|@\)) \)/ end=/\%(\n\n\S\)\@=/ contains=markdownOrderedListDelimiter,markdownTaskListDelimiter,markdownBulletList,markdownBulletListDelimiter,markdownBlockquote,markdownBlockquoteDelimiter -"syn match markdownOrderedlistDelimiter /^\s*\%(\%(\d\+\|\l\|\#\|@\)\. \|(\=\%(\d\+\|\l\|\#\|@\)) \)/ contained -"hi def link markdownOrderedListDelimiter markdownDelimiter - -" task list delimiter -"syn match markdownTaskListDelimiter /\%(\%(\%(\d\+\|\l\|\#\|@\)\.\|(\=\%(\d\+\|\l\|\#\|@\))\) \s*\)\@<=\[[ x]\] / contained -"hi def link markdownTaskListDelimiter markdownSpecial - -" definition list -" TODO - -" example list -"syn region markdownExampleList start=/\%(\%^\|^\n\)\@2<= \{,3}(@[[:lower:][:upper:]_-]*)/ end=/\%(\n\n \{,3}\S\)\@=/ contains=markdownExampleListDelimiter -"syn match markdownExampleListDelimiter /^ \{,3}(@.\{-}) / contained -"hi def link markdownExampleListDelimiter markdownDelimiter -"syn match markdownExampleListLabel /@.\{-}\ze)/ containedin=markdownExampleListDelimiter contains=ALLBUT,markdownExampleListReference -"hi def link markdownExampleListLabel markdownSpecial -"syn match markdownExampleListReference /(@[[:lower:][:upper:]_-]*)/ !contained -"hi def link markdownExampleListReference Error - -" horizontal rule -"syn match markdownHRule /^\n\s*\*\s*\(\*\s*\)\{2,}\n$/ display -"syn match markdownHRule /^\n\s*\-\s*\(\-\s*\)\{2,}\n$/ display -"syn match markdownHRule /^\n\s*_\s*\(_\s*\)\{2,}\n$/ display -"hi def link markdownHRule markdownDelimiter - -" table -" TODO - -" titleblock -"syn region markdownTitleBlock start=/\%^%/ end=/\n$/ contains=@markdownInline,markdownTitleBlockDelimiter -"hi def link markdownTitleBlock markdownTitle -"syn match markdownTitleBlockDelimiter /%\ / contained -"hi def link markdownTitleBlockDelimiter markdownDelimiter - -" definition -"syn region markdownReferenceDefinition start=/\[.\{-}\]:/ end=/\(\n\s*".*"$\|$\)/ keepend -"hi def link markdownReferenceDefinition markdownDelimiter -"syn match markdownReferenceDefinitionLabel /\[\zs.\{-}\ze\]:/ contained containedin=markdownReferenceDefinition display -"hi def link markdownReferenceDefinitionLabel markdownLabel -"syn match markdownReferenceDefinitionURL /:\s*\zs.*/ contained containedin=markdownReferenceDefinition -"hi def link markdownReferenceDefinitionURL markdownUnderlined -"syn match markdownReferenceDefinitionTitle /\s*".\{-}"/ contained containedin=markdownReferenceDefinition,markdownReferenceDefinitionURL contains=@Spell,markdownAmpersandEscape -"hi def link markdownReferenceDefinitionTitle markdownTitle - -" strikeout -"syn region markdownStrike start=/\~\~/ end=/\~\~/ contains=markdownStrikeout,@Spell keepend -"hi def link markdownStrike htmlStrike -"syn match markdownStrikeDelimiter /\~\~/ contained -"hi def link markdownStrikeDelimiter markdownDelimiter - -" subscript -"syn region markdownSubscript start=/\~\(\([[:graph:]]\(\\ \)\=\)\{-}\~\)\@=/ end=/\~/ contains=markdownSubscriptDelimiter keepend -"syn match markdownSubscriptDelimiter /\~/ contained -"hi def link markdownSubscriptDelimiter markdownDelimiter - -" superscript -"syn region markdownSuperscript start=/\^\(\([[:graph:]]\(\\ \)\=\)\{-}\^\)\@=/ skip=/\\ / end=/\^/ contains=markdownSuperscriptDelimiter keepend -"syn match markdownSuperscriptDelimiter /\^/ contained -"hi def link markdownSuperscriptDelimiter markdownDelimiter - - -" simple table -"syn region markdownSimpleTable start=/\%#=2\(^.*[[:graph:]].*\n\)\@/ contained containedin=markdownGridTableHeader,markdownPipeTableHeader contains=@Spell -"hi def link markdownTableHeaderWord markdownBold - - -" delimited code blocks -"syn region markdownDelimitedCodeBlock start=/^\(>\s\)\?\z(\([ ]\+\|\t\)\=\~\{3,}\~*\)/ end=/^\z1\~*/ skipnl contains=markdownDelimitedCodeBlockStart,markdownDelimitedCodeBlockEnd keepend -"syn region markdownDelimitedCodeBlock start=/^\(>\s\)\?\z(\([ ]\+\|\t\)\=`\{3,}`*\)/ end=/^\z1`*/ skipnl contains=markdownDelimitedCodeBlockStart,markdownDelimitedCodeBlockEnd keepend -"syn match markdownDelimitedCodeBlockStart /\(\(\_^\n\_^\|\%^\)\(>\s\)\?\( \+\|\t\)\=\)\@<=\(\~\{3,}\~*\|`\{3,}`*\)/ contained containedin=markdownDelimitedCodeBlock nextgroup=markdownDelimitedCodeBlockLanguage -"syn match markdownDelimitedCodeBlockLanguage /\(\s\?\)\@<=.\+\(\_$\)\@=/ contained -"syn match markdownDelimitedCodeBlockEnd /\(`\{3,}`*\|\~\{3,}\~*\)\(\_$\n\(>\s\)\?\_$\)\@=/ contained containedin=markdownDelimitedCodeBlock -"syn match markdownBlockquoteinDelimitedCodeBlock '^>' contained containedin=markdownDelimitedCodeBlock -"syn match markdownCodePre /
.\{-}<\/pre>/ skipnl
-"syn match markdownCodePre /.\{-}<\/code>/ skipnl
-"hi def link markdownDelimitedCodeBlock markdownSpecial
-"hi def link markdownDelimitedCodeBlockStart markdownDelimiter
-"hi def link markdownDelimitedCodeBlockEnd markdownDelimiter
-"hi def link markdownDelimitedCodeBlockLanguage markdownComment
-"hi def link markdownBlockquoteinDelimitedCodeBlock markdownBlockquote
-"hi def link markdownCodePre markdownString
-
-" footnote
-"syn match markdownFootnoteID /\[\^[^\]]\+\]/ nextgroup=markdownFootnoteDef
-"hi def link markdownFootnoteID markdownLabel
-
-" inline footnote
-"syn region markdownFootnoteDef start=/\^\[/ skip=/\[.\{-}]/ end=/\]/ contains=markdownLink,markdownLatex,markdownPCite,markdownCiteKey,markdownBold,markdownItalic,markdownBoldItalic,markdownNoFormatted,markdownSuperscript,markdownSubscript,markdownStrike,markdownEnDash,markdownEmDash,markdownEllipses,markdownBeginQuote,markdownEndQuote,@Spell,markdownAmpersandEscape skipnl keepend
-"hi def link markdownFootnoteDef markdownComment
-"syn match markdownFootnoteDefHead /\^\[/ contained containedin=markdownFootnoteDef
-"hi def link markdownFootnoteDefHead markdownDelimiter
-"syn match markdownFootnoteDefTail /\]/ contained containedin=markdownFootnoteDef
-"hi def link markdownFootnoteDefTail markdownDelimiter
-
-" regular footnotes
-"syn region markdownFootnoteBlock start=/\[\^.\{-}\]:\s*\n*/ end=/^\n^\s\@!/ contains=markdownLink,markdownLatex,markdownPCite,markdownCiteKey,markdownBold,markdownItalic,markdownNoFormatted,markdownSuperscript,markdownSubscript,markdownStrike,markdownEnDash,markdownEmDash,markdownNewLine,markdownBoldItalic,markdownEllipses,markdownBeginQuote,markdownEndQuote,markdownLaTeXInlineMath,markdownEscapedDollar,markdownLaTeXCommand,markdownLaTeXMathBlock,markdownLaTeXRegion,markdownAmpersandEscape,@Spell skipnl
-"syn match markdownFootnoteBlockSeparator /:/ contained containedin=markdownFootnoteBlock
-"hi def link markdownFootnoteBlockSeparator markdownDelimiter
-"syn match markdownFootnoteID /\[\^.\{-}\]/ contained containedin=markdownFootnoteBlock
-"syn match markdownFootnoteIDHead /\[\^/ contained containedin=markdownFootnoteID
-"hi def link markdownFootnoteIDHead markdownDelimiter
-"syn match markdownFootnoteIDTail /\]/ contained containedin=markdownFootnoteID
-"hi def link markdownFootnoteIDTail markdownDelimiter
-
-" yaml
-syn include @YAML syntax/yaml.vim
-unlet! b:current_syntax
-syn region markdownYAMLHeader start=/\%(\%^\|\_^\s*\n\)\@<=\_^-\{3}\ze\n.\+/ end=/^\([-.]\)\1\{2}$/ keepend contains=@YAML containedin=TOP
-
 " emphasis
 syn region markdownItalic matchgroup=markdownDelimiter start=/\\\@1~\/]*/
 hi def link markdownReferenceKey markdownLabel
 
+" html comment
+syn region markdownHTMLcomment start=// keepend contains=@Spell
+hi def link markdownHTMLcomment markdownComment
+
+" yaml
+syn include @YAML syntax/yaml.vim
+unlet! b:current_syntax
+syn region markdownYAMLHeader start=/\%(\%^\|\_^\s*\n\)\@<=\_^-\{3}\ze\n.\+/ end=/^\([-.]\)\1\{2}$/ keepend contains=@YAML containedin=TOP
+
 " styling
 hi def link markdownComment Comment
 hi def link markdownConstant Constant
@@ -277,10 +101,10 @@ hi def link markdownUnderlined Underlined
 hi def link markdownIgnore Ignore
 hi def link markdownError Error
 
-hi def link markdownItalic htmlItalic
-hi def link markdownBold htmlBold
-hi def link markdownItalicBold htmlItalicBold
-hi def link markdownStrike htmlStrike
+hi def link markdownItalic Italic
+hi def link markdownBold Bold
+hi def link markdownBoldItalic BoldItalic
+hi def link markdownStrike Strike
 hi def link markdownTitle Title
 
 let b:current_syntax = "markdown"