blob: 567aaa96de9e4f81c4f59478fe8927843e19630f [file] [log] [blame]
Bram Moolenaar1cd871b2004-12-19 22:46:22 +00001" Vim syntax file
Bram Moolenaar214641f2017-03-05 17:04:09 +01002" Language: netrc(5) configuration file
3" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
4" Latest Revision: 2010-01-03
Bram Moolenaar71badf92023-04-22 22:40:14 +01005" Last Change: 2023 Feb 27 by Keith Smiley
Bram Moolenaar1cd871b2004-12-19 22:46:22 +00006
Bram Moolenaar42eeac32005-06-29 22:40:58 +00007if exists("b:current_syntax")
Bram Moolenaar1cd871b2004-12-19 22:46:22 +00008 finish
9endif
10
Bram Moolenaar42eeac32005-06-29 22:40:58 +000011let s:cpo_save = &cpo
12set cpo&vim
Bram Moolenaar1cd871b2004-12-19 22:46:22 +000013
Bram Moolenaar42eeac32005-06-29 22:40:58 +000014syn keyword netrcKeyword machine nextgroup=netrcMachine skipwhite skipnl
Bram Moolenaar5c736222010-01-06 20:54:52 +010015syn keyword netrcKeyword account
16 \ login
17 \ nextgroup=netrcLogin,netrcSpecial skipwhite skipnl
Bram Moolenaar42eeac32005-06-29 22:40:58 +000018syn keyword netrcKeyword password nextgroup=netrcPassword skipwhite skipnl
19syn keyword netrcKeyword default
Bram Moolenaar5c736222010-01-06 20:54:52 +010020syn keyword netrcKeyword macdef
21 \ nextgroup=netrcInit,netrcMacroName skipwhite skipnl
Bram Moolenaar42eeac32005-06-29 22:40:58 +000022syn region netrcMacro contained start='.' end='^$'
Bram Moolenaar1cd871b2004-12-19 22:46:22 +000023
Bram Moolenaar42eeac32005-06-29 22:40:58 +000024syn match netrcMachine contained display '\S\+'
25syn match netrcMachine contained display '"[^\\"]*\(\\.[^\\"]*\)*"'
26syn match netrcLogin contained display '\S\+'
27syn match netrcLogin contained display '"[^\\"]*\(\\.[^\\"]*\)*"'
28syn match netrcPassword contained display '\S\+'
29syn match netrcPassword contained display '"[^\\"]*\(\\.[^\\"]*\)*"'
Bram Moolenaar5c736222010-01-06 20:54:52 +010030syn match netrcMacroName contained display '\S\+'
31 \ nextgroup=netrcMacro skipwhite skipnl
Bram Moolenaar42eeac32005-06-29 22:40:58 +000032syn match netrcMacroName contained display '"[^\\"]*\(\\.[^\\"]*\)*"'
Bram Moolenaar5c736222010-01-06 20:54:52 +010033 \ nextgroup=netrcMacro skipwhite skipnl
Bram Moolenaar42eeac32005-06-29 22:40:58 +000034
35syn keyword netrcSpecial contained anonymous
Bram Moolenaar5c736222010-01-06 20:54:52 +010036syn match netrcInit contained '\<init$'
37 \ nextgroup=netrcMacro skipwhite skipnl
Bram Moolenaar1cd871b2004-12-19 22:46:22 +000038
Bram Moolenaar71badf92023-04-22 22:40:14 +010039syn match netrcComment '#.*$'
40
Bram Moolenaar1cd871b2004-12-19 22:46:22 +000041syn sync fromstart
42
Bram Moolenaar42eeac32005-06-29 22:40:58 +000043hi def link netrcKeyword Keyword
44hi def link netrcMacro PreProc
45hi def link netrcMachine Identifier
46hi def link netrcLogin String
47hi def link netrcPassword String
48hi def link netrcMacroName String
49hi def link netrcSpecial Special
50hi def link netrcInit Special
Bram Moolenaar71badf92023-04-22 22:40:14 +010051hi def link netrcComment Comment
Bram Moolenaar1cd871b2004-12-19 22:46:22 +000052
53let b:current_syntax = "netrc"
54
Bram Moolenaar42eeac32005-06-29 22:40:58 +000055let &cpo = s:cpo_save
56unlet s:cpo_save