From cb077c34b553991ca4e82d2fa16a13c7fc471ed9 Mon Sep 17 00:00:00 2001 From: sloum Date: Tue, 3 Mar 2020 07:58:31 -0800 Subject: Initial commit --- ftdetect/gmi.vim | 2 ++ syntax/gmi.vim | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 ftdetect/gmi.vim create mode 100644 syntax/gmi.vim diff --git a/ftdetect/gmi.vim b/ftdetect/gmi.vim new file mode 100644 index 0000000..2040f0c --- /dev/null +++ b/ftdetect/gmi.vim @@ -0,0 +1,2 @@ +au BufRead,BufNewFile *.gmi set filetype=gmi +" Gemini protocol syntax for text/gemini files (*.gmi) diff --git a/syntax/gmi.vim b/syntax/gmi.vim new file mode 100644 index 0000000..842e665 --- /dev/null +++ b/syntax/gmi.vim @@ -0,0 +1,34 @@ +" Vim syntax file +" " Language: gemini +" " Maintainer: sloum < sloum AT rawtext.club > +" " Latest Revision: 02 February 2020 + +if exists("b:current_syntax") + finish +endif + +" Handle monospaced blocks +syn region Special start="```" end="```" + +" Handle between one and three heading levels +syn match Constant /^#\{1,3}.*$/ + +" Start a link line +syn match Todo /^=>/ nextgroup=Underlined skipwhite + +" An extremely naive way of handling the URL portion of the link line +" TODO think about improving this +syn match Underlined /\S\+/ contained nextgroup=String skipwhite + +syn match String /.*$/ contained + +" Handle list items +syn match Identifier /^\*.*$/ + +syn match Ignore /^77/ +syn match String /^88/ +syn match Comment /^99/ + + + +let b:current_syntax = "gmi" -- cgit v1.2.3-54-g00ecf