mirror of
				https://github.com/vim/vim.git
				synced 2025-10-30 09:47:20 -04:00 
			
		
		
		
	Problem:  filetype: org files are not recognized
Solution: detect '*.org' files as 'org' filetype,
          include filetype and syntax plugin
          (Luca Saccarola)
closes: #16054
Signed-off-by: Luca Saccarola <github.e41mv@aleeas.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
		
	
		
			
				
	
	
		
			72 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
			
		
		
	
	
			72 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
| " Vim syntax file
 | |
| " Language:	Org
 | |
| " Maintainer:	Luca Saccarola <github.e41mv@aleeas.com>
 | |
| " Last Change:	2024 Nov 14
 | |
| "
 | |
| " Reference Specification: Org mode manual
 | |
| "   GNU Info: `$ info Org`
 | |
| "   Web: <https://orgmode.org/manual/index.html>
 | |
| 
 | |
| " Quit when a (custom) syntax file was already loaded
 | |
| if exists("b:current_syntax")
 | |
|   finish
 | |
| endif
 | |
| let b:current_syntax = 'org'
 | |
| 
 | |
| syn case ignore
 | |
| 
 | |
| " Bold
 | |
| syn region orgBold matchgroup=orgBoldDelimiter start="\(^\|[- '"({\]]\)\@<=\*\ze[^ ]" end="^\@!\*\([^\k\*]\|$\)\@=" keepend
 | |
| hi def link orgBold markdownBold
 | |
| hi def link orgBoldDelimiter orgBold
 | |
| 
 | |
| " Italic
 | |
| syn region orgItalic matchgroup=orgItalicDelimiter start="\(^\|[- '"({\]]\)\@<=\/\ze[^ ]" end="^\@!\/\([^\k\/]\|$\)\@=" keepend
 | |
| hi def link orgItalic markdownItalic
 | |
| hi def link orgItalicDelimiter orgItalic
 | |
| 
 | |
| " Strikethrogh
 | |
| syn region orgStrikethrough matchgroup=orgStrikethroughDelimiter start="\(^\|[ '"({\]]\)\@<=+\ze[^ ]" end="^\@!+\([^\k+]\|$\)\@=" keepend
 | |
| hi def link orgStrikethrough markdownStrike
 | |
| hi def link orgStrikethroughDelimiter orgStrikethrough
 | |
| 
 | |
| " Underline
 | |
| syn region orgUnderline matchgroup=orgUnderlineDelimiter start="\(^\|[- '"({\]]\)\@<=_\ze[^ ]" end="^\@!_\([^\k_]\|$\)\@=" keepend
 | |
| 
 | |
| " Headlines
 | |
| syn match orgHeadline "^\*\+\s\+.*$" keepend
 | |
| hi def link orgHeadline Title
 | |
| 
 | |
| " Line Comment
 | |
| syn match  orgLineComment /^\s*#\s\+.*$/ keepend
 | |
| hi def link orgLineComment Comment
 | |
| 
 | |
| " Block Comment
 | |
| syn region orgBlockComment matchgroup=orgBlockCommentDelimiter start="\c^\s*#+BEGIN_COMMENT" end="\c^\s*#+END_COMMENT" keepend
 | |
| hi def link orgBlockComment Comment
 | |
| hi def link orgBlockCommentDelimiter Comment
 | |
| 
 | |
| " Lists
 | |
| syn match orgUnorderedListMarker "^\s*[-+]\s\+" keepend
 | |
| hi def link orgUnorderedListMarker markdownOrderedListMarker
 | |
| syn match orgOrderedListMarker "^\s*\(\d\|\a\)\+[.)]\s\+" keepend
 | |
| hi def link orgOrderedListMarker markdownOrderedListMarker
 | |
| "
 | |
| " Verbatim
 | |
| syn region orgVerbatimInline matchgroup=orgVerbatimInlineDelimiter start="\(^\|[- '"({\]]\)\@<==\ze[^ ]" end="^\@!=\([^\k=]\|$\)\@=" keepend
 | |
| hi def link orgVerbatimInline markdownCodeBlock
 | |
| hi def link orgVerbatimInlineDelimiter orgVerbatimInline
 | |
| syn region orgVerbatimBlock matchgroup=orgVerbatimBlockDelimiter start="\c^\s*#+BEGIN_.*" end="\c^\s*#+END_.*" keepend
 | |
| hi def link orgVerbatimBlock orgCode
 | |
| hi def link orgVerbatimBlockDelimiter orgVerbatimBlock
 | |
| 
 | |
| " Code
 | |
| syn region orgCodeInline matchgroup=orgCodeInlineDelimiter start="\(^\|[- '"({\]]\)\@<=\~\ze[^ ]" end="^\@!\~\([^\k\~]\|$\)\@=" keepend
 | |
| highlight def link orgCodeInline markdownCodeBlock
 | |
| highlight def link orgCodeInlineDelimiter orgCodeInline
 | |
| syn region orgCodeBlock matchgroup=orgCodeBlockDelimiter start="\c^\s*#+BEGIN_SRC.*" end="\c^\s*#+END_SRC" keepend
 | |
| highlight def link orgCodeBlock markdownCodeBlock
 | |
| highlight def link orgCodeBlockDelimiter orgCodeBlock
 | |
| 
 | |
| " vim: ts=8 sts=2 sw=2 et
 |