view runtime/syntax/wget.vim @ 13756:c38f29387245 v8.0.1750

patch 8.0.1750: crash when clearing loccation list in autocommand commit https://github.com/vim/vim/commit/3b9474b4ad4d85b5396f7f641b436f193dc9d486 Author: Bram Moolenaar <Bram@vim.org> Date: Mon Apr 23 21:29:48 2018 +0200 patch 8.0.1750: crash when clearing loccation list in autocommand Problem: Crash when clearing loccation list in autocommand. Solution: Check if "qi" equals "ql_info". (Yegappan Lakshmanan)
author Christian Brabandt <cb@256bit.org>
date Mon, 23 Apr 2018 21:30:06 +0200
parents 42bf9264e64e
children b96ceb97e896
line wrap: on
line source

" Vim syntax file
" Language:     Wget configuration file (/etc/wgetrc ~/.wgetrc)
" Maintainer:	Doug Kearns <dougkearns@gmail.com>
" Last Change:	2013 Jun 1

if exists("b:current_syntax")
  finish
endif

let s:cpo_save = &cpo
set cpo&vim

syn match wgetComment "#.*$" contains=wgetTodo contained

syn keyword wgetTodo TODO NOTE FIXME XXX contained

syn region wgetString start=+"+ skip=+\\\\\|\\"+ end=+"+ contained oneline
syn region wgetString start=+'+ skip=+\\\\\|\\'+ end=+'+ contained oneline

syn case ignore
syn keyword wgetBoolean on off contained
syn keyword wgetNumber  inf    contained
syn case match

syn match wgetNumber "\<\%(\d\+\|inf\)\>" contained
syn match wgetQuota  "\<\d\+[kKmM]\>"     contained
syn match wgetTime   "\<\d\+[smhdw]\>"    contained

"{{{ Commands
let s:commands = map([
        \ "accept",
	\ "add_hostdir",
	\ "adjust_extension",
	\ "always_rest",
	\ "ask_password",
	\ "auth_no_challenge",
	\ "background",
	\ "backup_converted",
	\ "backups",
	\ "base",
	\ "bind_address",
	\ "ca_certificate",
	\ "ca_directory",
	\ "cache",
	\ "certificate",
	\ "certificate_type",
	\ "check_certificate",
	\ "connect_timeout",
	\ "content_disposition",
	\ "continue",
	\ "convert_links",
	\ "cookies",
	\ "cut_dirs",
	\ "debug",
	\ "default_page",
	\ "delete_after",
	\ "dns_cache",
	\ "dns_timeout",
	\ "dir_prefix",
	\ "dir_struct",
	\ "domains",
	\ "dot_bytes",
	\ "dots_in_line",
	\ "dot_spacing",
	\ "dot_style",
	\ "egd_file",
	\ "exclude_directories",
	\ "exclude_domains",
	\ "follow_ftp",
	\ "follow_tags",
	\ "force_html",
	\ "ftp_passwd",
	\ "ftp_password",
	\ "ftp_user",
	\ "ftp_proxy",
	\ "glob",
	\ "header",
	\ "html_extension",
	\ "htmlify",
	\ "http_keep_alive",
	\ "http_passwd",
	\ "http_password",
	\ "http_proxy",
	\ "https_proxy",
	\ "http_user",
	\ "ignore_case",
	\ "ignore_length",
	\ "ignore_tags",
	\ "include_directories",
	\ "inet4_only",
	\ "inet6_only",
	\ "input",
	\ "iri",
	\ "keep_session_cookies",
	\ "kill_longer",
	\ "limit_rate",
	\ "load_cookies",
	\ "locale",
	\ "local_encoding",
	\ "logfile",
	\ "login",
	\ "max_redirect",
	\ "mirror",
	\ "netrc",
	\ "no_clobber",
	\ "no_parent",
	\ "no_proxy",
	\ "numtries",
	\ "output_document",
	\ "page_requisites",
	\ "passive_ftp",
	\ "passwd",
	\ "password",
	\ "post_data",
	\ "post_file",
	\ "prefer_family",
	\ "preserve_permissions",
	\ "private_key",
	\ "private_key_type",
	\ "progress",
	\ "protocol_directories",
	\ "proxy_passwd",
	\ "proxy_password",
	\ "proxy_user",
	\ "quiet",
	\ "quota",
	\ "random_file",
	\ "random_wait",
	\ "read_timeout",
	\ "reclevel",
	\ "recursive",
	\ "referer",
	\ "reject",
	\ "relative_only",
	\ "remote_encoding",
	\ "remove_listing",
	\ "restrict_file_names",
	\ "retr_symlinks",
	\ "retry_connrefused",
	\ "robots",
	\ "save_cookies",
	\ "save_headers",
	\ "secure_protocol",
	\ "server_response",
	\ "show_all_dns_entries",
	\ "simple_host_check",
	\ "span_hosts",
	\ "spider",
	\ "strict_comments",
	\ "sslcertfile",
	\ "sslcertkey",
	\ "timeout",
	\ "time_stamping",
	\ "use_server_timestamps",
	\ "tries",
	\ "trust_server_names",
	\ "user",
	\ "use_proxy",
	\ "user_agent",
	\ "verbose",
	\ "wait",
	\ "wait_retry"],
	\ "substitute(v:val, '_', '[-_]\\\\=', 'g')")
"}}}

syn case ignore
for cmd in s:commands
  exe 'syn match wgetCommand "' . cmd . '" nextgroup=wgetAssignmentOperator skipwhite contained'
endfor
syn case match

syn match wgetStart "^" nextgroup=wgetCommand,wgetComment skipwhite
syn match wgetAssignmentOperator "=" nextgroup=wgetString,wgetBoolean,wgetNumber,wgetQuota,wgetTime skipwhite contained

hi def link wgetAssignmentOperator Special
hi def link wgetBoolean		   Boolean
hi def link wgetCommand		   Identifier
hi def link wgetComment		   Comment
hi def link wgetNumber		   Number
hi def link wgetQuota		   Number
hi def link wgetString		   String
hi def link wgetTodo		   Todo

let b:current_syntax = "wget"

let &cpo = s:cpo_save
unlet s:cpo_save

" vim: ts=8 fdm=marker: