aboutsummaryrefslogtreecommitdiff
path: root/autoload/syntax
diff options
context:
space:
mode:
authorAkshay Nair <phenax5@gmail.com>2025-10-20 22:21:17 +0530
committerAkshay Nair <phenax5@gmail.com>2025-10-21 13:39:46 +0530
commit87a96e7c86ef7a718246dfe6fc37b219c66dc557 (patch)
tree3715263544ee5b2b10019988d17c100aa5888d3d /autoload/syntax
parent717ed5d90813ac7610b8d9cf1e110b6f31e87efc (diff)
downloadkakoune-config-87a96e7c86ef7a718246dfe6fc37b219c66dc557.tar.gz
kakoune-config-87a96e7c86ef7a718246dfe6fc37b219c66dc557.zip
Refactored bits out into files
Diffstat (limited to 'autoload/syntax')
-rw-r--r--autoload/syntax/mdx.kak3
-rw-r--r--autoload/syntax/org.kak41
2 files changed, 44 insertions, 0 deletions
diff --git a/autoload/syntax/mdx.kak b/autoload/syntax/mdx.kak
new file mode 100644
index 0000000..b5c4b0a
--- /dev/null
+++ b/autoload/syntax/mdx.kak
@@ -0,0 +1,3 @@
+hook global BufCreate .*[.]mdx %{
+ set-option buffer filetype markdown
+}
diff --git a/autoload/syntax/org.kak b/autoload/syntax/org.kak
new file mode 100644
index 0000000..79f6291
--- /dev/null
+++ b/autoload/syntax/org.kak
@@ -0,0 +1,41 @@
+hook global BufCreate .*[.]org %{
+ set-option buffer filetype org
+}
+
+hook global WinSetOption filetype=org %{
+ add-highlighter window/org ref org
+ require-module orgmode-highlight
+}
+
+provide-module orgmode-highlight %{
+ add-highlighter shared/org regions
+ add-highlighter shared/org/inline default-region regions
+ add-highlighter shared/org/inline/text default-region group
+
+ add-highlighter shared/org/inline/text/ regex \*[^\n*]+\* 0:inlineBold
+ add-highlighter shared/org/inline/text/ regex /[^\n/]+/ 0:inlineItalic
+ add-highlighter shared/org/inline/text/ regex _[^\n_]+_ 0:inlineUnderline
+ add-highlighter shared/org/inline/text/ regex \+[^\n+]+\+ 0:inlineStrikethrough
+ add-highlighter shared/org/inline/text/ regex ~[^\n~]+~ 0:inlineCode
+ add-highlighter shared/org/inline/text/ regex \[\[[^\n]+\]\] 0:inlineLink
+ add-highlighter shared/org/codeblock region -match-capture \
+ ^\h*#\+(?:begin|BEGIN)_([a-zA-Z]*)[^\n]*$ \
+ ^\h*#\+(?:end|END)_([a-zA-Z]*)[^\n]*$ \
+ regions
+ add-highlighter shared/org/codeblock/ default-region fill orgCodeBlock
+
+ add-highlighter shared/org/inline/text/ regex ^[*]{1}[^\n]* 0:header1
+ add-highlighter shared/org/inline/text/ regex ^[*]{2}[^\n]* 0:header2
+ add-highlighter shared/org/inline/text/ regex ^[*]{3}[^\n]* 0:header3
+ add-highlighter shared/org/inline/text/ regex ^[*]{4}[^\n]* 0:header4
+ add-highlighter shared/org/inline/text/ regex ^[*]{5}[^\n]* 0:header5
+ add-highlighter shared/org/inline/text/ regex ^[*]{6}[^\n]* 0:header6
+
+ add-highlighter shared/org/inline/text/ regex ^[*]*\s+(TODO) 1:orgTaskStateTodo
+ add-highlighter shared/org/inline/text/ regex ^[*]*\s+(DONE) 1:orgTaskStateDone
+ add-highlighter shared/org/inline/text/ regex ^[*]*\s+(ACTIVE) 1:orgTaskStateActive
+
+ add-highlighter shared/org/inline/text/ regex ^\s*-\s*(\[[xX]\])\h([^\n]+)$ 1:checkboxChecked 2:checkboxCheckedText
+ add-highlighter shared/org/inline/text/ regex ^\s*-\s*(\[[\s]\]) 1:checkboxTodo
+ add-highlighter shared/org/inline/text/ regex ^\s*-\s*(\[[-]\]) 1:checkboxPending
+}