1" Vim syntax file
2" Language:	Lynx configuration file (lynx.cfg)
3" Maintainer:	Doug Kearns <dougkearns@gmail.com>
4" Last Change:	2013 Jun 20
5
6" Lynx 2.8.7
7
8if exists("b:current_syntax")
9  finish
10endif
11
12let s:cpo_save = &cpo
13set cpo&vim
14
15syn match lynxStart "^" transparent skipwhite nextgroup=lynxOption
16
17syn match lynxComment "\(^\|\s\+\)#.*$" contains=lynxTodo
18
19syn keyword lynxTodo TODO NOTE FIXME XXX contained
20
21syn match lynxDelimiter ":" skipwhite nextgroup=lynxBoolean,lynxNumber,lynxNone,lynxRCOption
22
23syn case ignore
24syn keyword lynxBoolean TRUE FALSE ON OFF contained
25syn keyword lynxNone    NONE		  contained
26syn case match
27
28syn match lynxNumber "-\=\<\d\+\>" contained
29
30"{{{ Options
31syn case ignore
32syn keyword lynxOption ACCEPT_ALL_COOKIES ALERTSECS ALWAYS_RESUBMIT_POSTS
33	\ ALWAYS_TRUSTED_EXEC ANONFTP_PASSWORD ASSUMED_COLOR
34	\ ASSUMED_DOC_CHARSET_CHOICE ASSUME_CHARSET ASSUME_LOCAL_CHARSET
35	\ ASSUME_UNREC_CHARSET AUTO_SESSION AUTO_UNCACHE_DIRLISTS BAD_HTML
36	\ BIBP_BIBHOST BIBP_GLOBAL_SERVER BLOCK_MULTI_BOOKMARKS BOLD_H1
37	\ BOLD_HEADERS BOLD_NAME_ANCHORS BOOKMARK_FILE BROKEN_FTP_EPSV
38	\ BROKEN_FTP_RETR BZIP2_PATH CASE_SENSITIVE_ALWAYS_ON
39	\ CASE_SENSITIVE_SEARCHING CHARACTER_SET CHARSETS_DIRECTORY
40	\ CHARSET_SWITCH_RULES CHECKMAIL CHMOD_PATH COLLAPSE_BR_TAGS COLOR
41	\ COLOR_STYLE COMPRESS_PATH CONNECT_TIMEOUT COOKIE_ACCEPT_DOMAINS
42	\ COOKIE_FILE COOKIE_LOOSE_INVALID_DOMAINS
43	\ COOKIE_QUERY_INVALID_DOMAINS COOKIE_REJECT_DOMAINS COOKIE_SAVE_FILE
44	\ COOKIE_STRICT_INVALID_DOMAINS COPY_PATH CSO_PROXY CSWING_PATH
45	\ DEBUGSECS DEFAULT_BOOKMARK_FILE DEFAULT_CACHE_SIZE DEFAULT_COLORS
46	\ DEFAULT_EDITOR DEFAULT_INDEX_FILE DEFAULT_KEYPAD_MODE
47	\ DEFAULT_KEYPAD_MODE_IS_NUMBERS_AS_ARROWS DEFAULT_USER_MODE
48	\ DEFAULT_VIRTUAL_MEMORY_SIZE DELAYSECS DIRED_MENU DIR_LIST_ORDER
49	\ DIR_LIST_STYLE DISPLAY DISPLAY_CHARSET_CHOICE DOWNLOADER EMACS_KEYS
50	\ EMACS_KEYS_ALWAYS_ON ENABLE_LYNXRC ENABLE_SCROLLBACK EXTERNAL
51	\ FILE_EDITOR FILE_SORTING_METHOD FINGER_PROXY FOCUS_WINDOW
52	\ FORCE_8BIT_TOUPPER FORCE_COOKIE_PROMPT FORCE_EMPTY_HREFLESS_A
53	\ FORCE_SSL_COOKIES_SECURE FORCE_SSL_PROMPT FORMS_OPTIONS FTP_FORMAT
54	\ FTP_PASSIVE FTP_PROXY GLOBAL_EXTENSION_MAP GLOBAL_MAILCAP
55	\ GOPHER_PROXY GOTOBUFFER GZIP_PATH HELPFILE HIDDEN_LINK_MARKER
56	\ HISTORICAL_COMMENTS HTMLSRC_ATTRNAME_XFORM HTMLSRC_TAGNAME_XFORM
57	\ HTTPS_PROXY HTTP_PROXY INCLUDE INFLATE_PATH INFOSECS INSTALL_PATH
58	\ JUMPBUFFER JUMPFILE JUMP_PROMPT JUSTIFY JUSTIFY_MAX_VOID_PERCENT
59	\ KBLAYOUT KEYBOARD_LAYOUT KEYMAP KEYPAD_MODE
60	\ LEFTARROW_IN_TEXTFIELD_PROMPT LINEEDIT_MODE LIST_FORMAT
61	\ LIST_NEWS_DATES LIST_NEWS_NUMBERS LOCALE_CHARSET LOCALHOST_ALIAS
62	\ LOCAL_DOMAIN LOCAL_EXECUTION_LINKS_ALWAYS_ON
63	\ LOCAL_EXECUTION_LINKS_ON_BUT_NOT_REMOTE LYNXCGI_DOCUMENT_ROOT
64	\ LYNXCGI_ENVIRONMENT LYNX_HOST_NAME LYNX_SIG_FILE MAIL_ADRS
65	\ MAIL_SYSTEM_ERROR_LOGGING MAKE_LINKS_FOR_ALL_IMAGES
66	\ MAKE_PSEUDO_ALTS_FOR_INLINES MAX_COOKIES_BUFFER MAX_COOKIES_DOMAIN
67	\ MAX_COOKIES_GLOBAL MESSAGESECS MINIMAL_COMMENTS MKDIR_PATH
68	\ MULTI_BOOKMARK MULTI_BOOKMARK_SUPPORT MV_PATH NCR_IN_BOOKMARKS
69	\ NESTED_TABLES NEWSPOST_PROXY NEWSREPLY_PROXY NEWS_CHUNK_SIZE
70	\ NEWS_MAX_CHUNK NEWS_POSTING NEWS_PROXY NNTPSERVER NNTP_PROXY
71	\ NONRESTARTING_SIGWINCH NO_DOT_FILES NO_FILE_REFERER
72	\ NO_FORCED_CORE_DUMP NO_FROM_HEADER NO_ISMAP_IF_USEMAP NO_MARGINS
73	\ NO_PAUSE NO_PROXY NO_REFERER_HEADER NO_TABLE_CENTER NO_TITLE
74	\ NUMBER_FIELDS_ON_LEFT NUMBER_LINKS_ON_LEFT OUTGOING_MAIL_CHARSET
75	\ PARTIAL PARTIAL_THRES PERSISTENT_COOKIES PERSONAL_EXTENSION_MAP
76	\ PERSONAL_MAILCAP PERSONAL_MAIL_ADDRESS POSITIONABLE_EDITOR
77	\ PREFERRED_CHARSET PREFERRED_ENCODING PREFERRED_LANGUAGE
78	\ PREFERRED_MEDIA_TYPES PREPEND_BASE_TO_SOURCE
79	\ PREPEND_CHARSET_TO_SOURCE PRETTYSRC PRETTYSRC_SPEC
80	\ PRETTYSRC_VIEW_NO_ANCHOR_NUMBERING PRINTER QUIT_DEFAULT_YES RAW_MODE
81	\ READ_TIMEOUT REFERER_WITH_QUERY REPLAYSECS REUSE_TEMPFILES
82	\ RLOGIN_PATH RM_PATH RMDIR_PATH RULE RULESFILE
83	\ RUN_ALL_EXECUTION_LINKS RUN_EXECUTION_LINKS_LOCAL SAVE_SPACE
84	\ SCAN_FOR_BURIED_NEWS_REFS SCREEN_SIZE SCROLLBAR SCROLLBAR_ARROW
85	\ SEEK_FRAG_AREA_IN_CUR SEEK_FRAG_MAP_IN_CUR SELECT_POPUPS
86	\ SEND_USERAGENT SESSION_FILE SESSION_LIMIT SET_COOKIES SETFONT_PATH
87	\ SHOW_COLOR SHOW_CURSOR SHOW_DOTFILES SHOW_KB_NAME SHOW_KB_RATE
88	\ SNEWSPOST_PROXY SNEWSREPLY_PROXY SNEWS_PROXY SOFT_DQUOTES
89	\ SOURCE_CACHE SOURCE_CACHE_FOR_ABORTED SSL_CERT_FILE STARTFILE
90	\ STATUS_BUFFER_SIZE STRIP_DOTDOT_URLS SUBSTITUTE_UNDERSCORES
91	\ SUB_BOOKMARKS SUFFIX SUFFIX_ORDER SYSLOG_REQUESTED_URLS SYSLOG_TEXT
92	\ SYSTEM_EDITOR SYSTEM_MAIL SYSTEM_MAIL_FLAGS TAGSOUP TAR_PATH
93	\ TELNET_PATH TEXTFIELDS_NEED_ACTIVATION TIMEOUT TN3270_PATH
94	\ TOUCH_PATH TRIM_INPUT_FIELDS TRUSTED_EXEC TRUSTED_LYNXCGI
95	\ UNCOMPRESS_PATH UNDERLINE_LINKS UNZIP_PATH UPLOADER
96	\ URL_DOMAIN_PREFIXES URL_DOMAIN_SUFFIXES USERAGENT USER_MODE
97	\ USE_FIXED_RECORDS USE_MOUSE USE_SELECT_POPUPS UUDECODE_PATH
98	\ VERBOSE_IMAGES VIEWER VISITED_LINKS VI_KEYS VI_KEYS_ALWAYS_ON
99	\ WAIS_PROXY XHTML_PARSING XLOADIMAGE_COMMAND ZCAT_PATH ZIP_PATH
100	\ contained nextgroup=lynxDelimiter
101syn keyword lynxRCOption accept_all_cookies assume_charset auto_session
102	\ bookmark_file case_sensitive_searching character_set
103	\ cookie_accept_domains cookie_file cookie_loose_invalid_domains
104	\ cookie_query_invalid_domains cookie_reject_domains
105	\ cookie_strict_invalid_domains dir_list_style display emacs_keys
106	\ file_editor file_sorting_method force_cookie_prompt force_ssl_prompt
107	\ ftp_passive kblayout keypad_mode lineedit_mode locale_charset
108	\ make_links_for_all_images make_pseudo_alts_for_inlines
109	\ multi_bookmark no_pause personal_mail_address preferred_charset
110	\ preferred_encoding preferred_language preferred_media_types raw_mode
111	\ run_all_execution_links run_execution_links_on_local_files scrollbar
112	\ select_popups send_useragent session_file set_cookies show_color
113	\ show_cursor show_dotfiles show_kb_rate sub_bookmarks tagsoup
114	\ underline_links user_mode useragent verbose_images vi_keys
115	\ visited_links
116	\ contained nextgroup=lynxDelimiter
117syn case match
118" }}}
119
120" cfg2html.pl formatting directives
121syn match lynxFormatDir  "^\.h\d\s.*$"
122syn match lynxFormatDir  "^\.\(ex\|nf\)\(\s\+\d\+\)\=$"
123syn match lynxFormatDir  "^\.fi$"
124
125hi def link lynxBoolean		Boolean
126hi def link lynxComment		Comment
127hi def link lynxDelimiter	Special
128hi def link lynxFormatDir	Special
129hi def link lynxNone		Constant
130hi def link lynxNumber		Number
131hi def link lynxOption		Identifier
132hi def link lynxRCOption	lynxOption
133hi def link lynxTodo		Todo
134
135let b:current_syntax = "lynx"
136
137let &cpo = s:cpo_save
138unlet s:cpo_save
139
140" vim: ts=8 fdm=marker:
141