mirror of
https://github.com/neovim/neovim.git
synced 2024-12-19 10:45:16 -07:00
cdab8c8ebb
By default spell checking is enabled for all text, but adding
`contains=@Spell` to syntax rules restricts spell checking to those
syntax rules. See `:help spell-syntax` for full details.
Variable names and headers are far more likely than comments to contain
spelling errors, so only enable spell checking in comments.
Introduced in https://github.com/xuhdev/syntax-dosini.vim/pull/8
cc @tobinjt
closes: vim/vim#15655
c0982f9f79
Co-authored-by: John Tobin <johntobin@johntobin.ie>
50 lines
1.5 KiB
VimL
50 lines
1.5 KiB
VimL
" Vim syntax file
|
|
" Language: Configuration File (ini file) for MSDOS/MS Windows
|
|
" Version: 2.4
|
|
" Original Author: Sean M. McKee <mckee@misslink.net>
|
|
" Previous Maintainer: Nima Talebi <nima@it.net.au>
|
|
" Current Maintainer: Hong Xu <hong@topbug.net>
|
|
" Homepage: http://www.vim.org/scripts/script.php?script_id=3747
|
|
" Repository: https://github.com/xuhdev/syntax-dosini.vim
|
|
" Last Change: 2024 Sept 08
|
|
|
|
|
|
" quit when a syntax file was already loaded
|
|
if exists("b:current_syntax")
|
|
finish
|
|
endif
|
|
|
|
" using of line-continuation requires cpo&vim
|
|
let s:cpo_save = &cpo
|
|
set cpo&vim
|
|
|
|
" shut case off
|
|
syn case ignore
|
|
|
|
syn match dosiniLabel "^.\{-}\ze\s*=" nextgroup=dosiniNumber,dosiniValue
|
|
syn match dosiniValue "=\zs.*"
|
|
syn match dosiniNumber "=\zs\s*\d\+\s*$"
|
|
syn match dosiniNumber "=\zs\s*\d*\.\d\+\s*$"
|
|
syn match dosiniNumber "=\zs\s*\d\+e[+-]\=\d\+\s*$"
|
|
syn region dosiniHeader start="^\s*\[" end="\]"
|
|
syn match dosiniComment "^[#;].*$" contains=@Spell
|
|
syn region dosiniSection start="\s*\[.*\]" end="\ze\s*\[.*\]" fold
|
|
\ contains=dosiniLabel,dosiniValue,dosiniNumber,dosiniHeader,dosiniComment
|
|
|
|
" Define the default highlighting.
|
|
" Only when an item doesn't have highlighting yet
|
|
|
|
hi def link dosiniNumber Number
|
|
hi def link dosiniHeader Special
|
|
hi def link dosiniComment Comment
|
|
hi def link dosiniLabel Type
|
|
hi def link dosiniValue String
|
|
|
|
|
|
let b:current_syntax = "dosini"
|
|
|
|
let &cpo = s:cpo_save
|
|
unlet s:cpo_save
|
|
|
|
" vim: sts=2 sw=2 et
|