diff options
Diffstat (limited to 'runtime/syntax/wget.vim')
-rw-r--r-- | runtime/syntax/wget.vim | 243 |
1 files changed, 243 insertions, 0 deletions
diff --git a/runtime/syntax/wget.vim b/runtime/syntax/wget.vim new file mode 100644 index 0000000..8178d02 --- /dev/null +++ b/runtime/syntax/wget.vim @@ -0,0 +1,243 @@ +" Vim syntax file +" Language: Wget configuration file (/etc/wgetrc ~/.wgetrc) +" Maintainer: Doug Kearns <dougkearns@gmail.com> +" Last Change: 2022 Apr 28 + +" GNU Wget 1.21 built on linux-gnu. + +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 yes no contained +syn keyword wgetNumber inf contained + +syn match wgetNumber "\<\d\+>" contained +syn match wgetQuota "\<\d\+[kmgt]\>" contained +syn match wgetTime "\<\d\+[smhdw]\>" contained + +"{{{ Commands +let s:commands =<< trim EOL + accept + accept_regex + add_host_dir + adjust_extension + always_rest + ask_password + auth_no_challenge + background + backup_converted + backups + base + bind_address + bind_dns_address + body_data + body_file + ca_certificate + ca_directory + cache + certificate + certificate_type + check_certificate + choose_config + ciphers + compression + connect_timeout + content_disposition + content_on_error + continue + convert_file_only + convert_links + cookies + crl_file + cut_dirs + debug + default_page + delete_after + dns_cache + dns_servers + 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 + ftps_clear_data_connection + ftps_fallback_to_ftp + ftps_implicit + ftps_resume_ssl + hsts + hsts_file + ftp_stmlf + glob + header + html_extension + htmlify + http_keep_alive + http_passwd + http_password + http_proxy + https_proxy + https_only + http_user + if_modified_since + ignore_case + ignore_length + ignore_tags + include_directories + inet4_only + inet6_only + input + input_meta_link + iri + keep_bad_hash + keep_session_cookies + kill_longer + limit_rate + load_cookies + locale + local_encoding + logfile + login + max_redirect + metalink_index + metalink_over_http + method + mirror + netrc + no_clobber + no_config + no_parent + no_proxy + numtries + output_document + page_requisites + passive_ftp + passwd + password + pinned_pubkey + post_data + post_file + prefer_family + preferred_location + preserve_permissions + private_key + private_key_type + progress + protocol_directories + proxy_passwd + proxy_password + proxy_user + quiet + quota + random_file + random_wait + read_timeout + rec_level + recursive + referer + regex_type + reject + rejected_log + reject_regex + relative_only + remote_encoding + remove_listing + report_speed + restrict_file_names + retr_symlinks + retry_connrefused + retry_on_host_error + retry_on_http_error + robots + save_cookies + save_headers + secure_protocol + server_response + show_all_dns_entries + show_progress + simple_host_check + span_hosts + spider + start_pos + strict_comments + sslcertfile + sslcertkey + timeout + timestamping + use_server_timestamps + tries + trust_server_names + unlink + use_askpass + user + use_proxy + user_agent + verbose + wait + wait_retry + warc_cdx + warc_cdx_dedup + warc_compression + warc_digests + warc_file + warc_header + warc_keep_log + warc_max_size + warc_temp_dir + wdebug + xattr +EOL +"}}} + +call map(s:commands, "substitute(v:val, '_', '[-_]\\\\=', 'g')") + +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 wgetTime Number +hi def link wgetTodo Todo + +let b:current_syntax = "wget" + +let &cpo = s:cpo_save +unlet s:cpo_save + +" vim: ts=8 fdm=marker: |