view runtime/syntax/squirrel.vim @ 34684:faf891660963 v9.1.0223

patch 9.1.0223: code duplication in loop to add active text properties Commit: https://github.com/vim/vim/commit/1134fdd1b369119d0d6992e3120bb5f7c788b697 Author: Dylan Thacker-Smith <dylan.ah.smith@gmail.com> Date: Thu Mar 28 11:49:46 2024 +0100 patch 9.1.0223: code duplication in loop to add active text properties Problem: There are two dense conditions with duplication that needs to be kept in sync between the while loop break condition and the condition to skip certain text properties. Solution: Refactor the loop by moving while loop conditions into the body of the while loop so they can be shared with skip conditions. `break` and an `active` variable are used to handle the outcome of these merged conditions. (Dylan Thacker-Smith) closes: #14307 Signed-off-by: Dylan Thacker-Smith <dylan.ah.smith@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
author Christian Brabandt <cb@256bit.org>
date Thu, 28 Mar 2024 12:00:05 +0100
parents c62bca3b8d82
children
line wrap: on
line source

" Vim syntax file
" Language: squirrel
" Current Maintainer: Matt Dunford (zenmatic@gmail.com)
" URL: https://github.com/zenmatic/vim-syntax-squirrel
" Last Change:	2023 Dec 08

" http://squirrel-lang.org/

" quit when a syntax file was already loaded
if exists("b:current_syntax")
  finish
endif

" inform C syntax that the file was included from cpp.vim
let b:filetype_in_cpp_family = 1

" Read the C syntax to start with
runtime! syntax/c.vim
unlet b:current_syntax
unlet b:filetype_in_cpp_family

" squirrel extensions
syn keyword squirrelStatement	delete this in yield resume base clone
syn keyword squirrelAccess	local
syn keyword cConstant           null
syn keyword squirrelModifier	static
syn keyword squirrelType	bool instanceof typeof
syn keyword squirrelExceptions	throw try catch
syn keyword squirrelStructure	class function extends constructor
syn keyword squirrelBoolean	true false
syn keyword squirrelRepeat	foreach

syn region squirrelMultiString start='@"' end='"$' end='";$'me=e-1

syn match squirrelShComment "^\s*#.*$"

" Default highlighting
hi def link squirrelAccess		squirrelStatement
hi def link squirrelExceptions		Exception
hi def link squirrelStatement		Statement
hi def link squirrelModifier		Type
hi def link squirrelType		Type
hi def link squirrelStructure		Structure
hi def link squirrelBoolean		Boolean
hi def link squirrelMultiString		String
hi def link squirrelRepeat		cRepeat
hi def link squirrelShComment		Comment

let b:current_syntax = "squirrel"

" vim: ts=8