SOURCES: openvpn.vim (NEW) - new

adamg adamg at pld-linux.org
Wed Aug 6 17:22:00 CEST 2008


Author: adamg                        Date: Wed Aug  6 15:22:00 2008 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- new

---- Files affected:
SOURCES:
   openvpn.vim (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: SOURCES/openvpn.vim
diff -u /dev/null SOURCES/openvpn.vim:1.1
--- /dev/null	Wed Aug  6 17:22:01 2008
+++ SOURCES/openvpn.vim	Wed Aug  6 17:21:55 2008
@@ -0,0 +1,257 @@
+"============================================================================
+"
+" OpenVPN configuration syntax file
+"
+" Language:	   OpenVPN Configuration File
+" Version:     1.09
+" Date:        12-Jul-2008
+" Maintainer:  Eric Haarbauer <ehaar{DOT}com{AT}grithix{DOT}dyndns{DOT}org>
+" License:     This file is placed in the public domain.
+"
+"============================================================================
+" Section:  Notes  {{{1
+"============================================================================
+"
+" This vim syntax script highlights configuration files used with James
+" Yonan's OpenVPN application (http://openvpn.net).
+" 
+" Features:
+"
+"   * Highlights options, comment lines, and arguments
+"   * Recognizes quoted strings and escaped characters (e.g. \\, \")
+"   * Flags arguments given for options that take no arguments
+"   * Special highlighting for route and server command arguments
+"
+" Reporting Issues:
+"
+"   If you discover an OpenVPN file that this script highlights incorrectly,
+"   please email the author (address at the top of the file) with the
+"   following information:
+"
+"     * Problem OpenVPN file WITH ANY SENSITIVE INFORMATION REMOVED
+"     * The release version of this script (see top of the file)
+"     * If possible, a patch to fix the problem
+"
+" Design Notes:
+"
+"   Part of this script is autogenerated from the output of openvpn --help.
+"   The source code for generating the script is available from the author on
+"   request (see email address at the top of the script).  The script should
+"   build from source on most Linux systems with openvpn installed.
+"
+"   The build system that generates this script strips special CVS tokens
+"   (like "Id:") so that CVS no longer recognizes them.  This allows users to
+"   place this script in their own version control system without losing
+"   information.  The author encourages other vim script developers to adopt a
+"   similar approach in their own scripts.
+"
+" Installation:
+"
+"   Put this file in your user runtime syntax directory, usually ~/.vim/syntax
+"   in *NIX or C:\Program Files\vim\vimfiles\syntax in Windows.  (Type "h
+"   syn-files" from within vim for more information.)
+"
+"   Setting up automatic filetype definition requires some knowledge about
+"   your system.  The OpenVPN application itself does not require a naming
+"   standard for configuration files, although most distribution packages use
+"   a .conf suffix.  However, the .conf suffix is also used by many other
+"   applications with different syntaxes, so one cannot determine filetype by
+"   filename alone.
+"
+"   One way to overcome this ambiguity is to incorporate the directory name
+"   into the recognition process.  For example, adding the following lines to
+"   the filetype.vim file in the user runtime directory should work for many
+"   *NIX systems:
+"      
+"       au BufNewFile,BufRead *openvpn*/*.conf setfiletype openvpn |
+"                                           \  set commentstring=#%s
+"
+"   On the Fedora Core Linux distribution, this technique recognizes
+"   configuration files in /etc/openvpn and
+"   /usr/share/doc/openvpn-X.X.X/sample-config-files.  Setting the
+"   commentstring option in the second line allows Meikel Brandmeyer's
+"   EnhancedCommentify script (vimscript #23) to work with openvpn files.
+"   (Advanced users may want to set the commentstring option in an ftplugin
+"   file or in autocommands defined in .vimrc.)
+"      
+"   If filename- and directory-based recognition is impractical, the easiest
+"   alternative is to embed the following modeline in your OpenVPN
+"   configuration files:
+"
+"       # vim:ft=openvpn:
+"
+"============================================================================
+" Source File: Id: openvpn.src.vim 71 2007-04-12 11:41:00Z ehaar 
+"============================================================================
+" Section:  Initialization  {{{1
+"============================================================================
+
+" For version 5.x: Clear all syntax items
+" For version 6.x: Quit when a syntax file was already loaded
+if !exists("main_syntax")
+  if version < 600
+    syntax clear
+  elseif exists("b:current_syntax")
+    finish
+  endif
+  let main_syntax = 'openvpn'
+endif
+
+" Don't use standard HiLink, it will not work with included syntax files
+if version < 508
+  command! -nargs=+ OpenvpnHiLink highlight link <args>
+else
+  command! -nargs=+ OpenvpnHiLink highlight default link <args>
+endif
+
+if version < 600
+    set iskeyword+=-
+else
+    setlocal iskeyword+=-
+endif
+
+syntax case match
+
+"============================================================================
+" Section:  Group Definitions  {{{1
+"============================================================================
+
+syntax region openvpnNoArgLine start=" " end="$" contained transparent
+    \ contains=openvpnExtraneousArg
+syntax region openvpnArgLine   start=" " end="$" contained transparent
+    \ contains=openvpnDevice,openvpnNumber,openvpnSpecial,openvpnQuote
+
+syntax match  openvpnNumber "\<[.0-9]\+\>" contained
+syntax match  openvpnDevice "\<\(tun\|tap\|null\)\d*\>" contained
+
+syntax region openvpnQuote start=+"+ skip=+\\\\\\|\\"+ end=+"+
+    \ contained contains=openvpnSpecial
+
+syntax match   openvpnSpecial       +\\[ "\\]+ contained
+syntax match   openvpnExtraneousArg "\S\+\p*"  contained
+
+" The openvpn man page specifies that the comment character must be in the
+" first column; however, some config files provided in the distribution have
+" comment characters after options.  This file follows the spec rather than
+" the examples.
+syntax match   openvpnComment "^[;#].*" contains=openvpnTodo
+syntax keyword openvpnTodo contained TODO FIXME XXX NOT NOTE
+
+" IP patterns for use in special options
+syntax match openvpnAddress     "\<\d\+\.\d\+\.\d\+\.\d\+\>" contained
+syntax match openvpnMaskAddress "\<\d\+\.\d\+\.\d\+\.\d\+\>" contained
+
+" route option  {{{2
+
+syntax match openvpnOption       "^route\s\+" nextgroup=openvpnRouteNetwork
+
+syntax match openvpnRouteNetwork "\S\+" nextgroup=openvpnRouteMask
+    \ contained skipwhite contains=openvpnAddress,openvpnRouteAddress
+
+syntax match openvpnRouteMask    "\S\+" nextgroup=openvpnRouteGateway
+    \ contained skipwhite contains=openvpnMaskAddress
+
+syntax match openvpnRouteGateway "\S\+" nextgroup=openvpnRouteMetric
+    \ contained skipwhite contains=openvpnAddress,openvpnRouteAddress
+
+syntax match openvpnRouteMetric  "\d\+" contained
+    \ skipwhite nextgroup=openvpnExtraneousArg
+
+syntax keyword openvpnRouteAddress
+    \ default vpn_gateway net_gateway remote_host
+    \ contained
+
+" server option {{{2
+
+syntax match openvpnOption "^server\s\+" nextgroup=openvpnServerNetwork
+
+syntax match openvpnServerNetwork "\S\+" nextgroup=openvpnServerMask
+    \ contained skipwhite contains=openvpnAddress
+
+syntax match openvpnServerMask "\S\+" nextgroup=openvpnExtraneousArg
+    \ contained skipwhite contains=openvpnMaskAddress
+
+"============================================================================
+" Section:  Autogenerated Groups  {{{2
+"============================================================================
+
+" Begin autogenerated section.
+" openvpn:     "OpenVPN 2.1_rc8 i386-redhat-linux-gnu [SSL] [LZO2] [EPOLL] built on Jun 14 2008"
+" openvpn2vim: "openvpn2vim 73 2008-07-13 02:10:18Z ehaar"
+
+syntax keyword openvpnOption
+     \ username-as-common-name up-restart up-delay tun-ipv6 tls-server 
+     \ tls-exit tls-client test-crypto suppress-timestamps socks-proxy-retry 
+     \ single-session show-tls show-engines show-digests show-ciphers 
+     \ route-nopull route-noexec rmtun remote-random push-reset pull 
+     \ ping-timer-rem persist-tun persist-remote-ip persist-local-ip 
+     \ persist-key passtos nobind no-replay no-iv mute-replay-warnings 
+     \ multihome mtu-test mlock mktun management-signal 
+     \ management-query-passwords management-hold 
+     \ management-forget-disconnect management-client-pf 
+     \ management-client-auth management-client ifconfig-pool-linear 
+     \ ifconfig-nowarn ifconfig-noexec http-proxy-retry genkey float fast-io 
+     \ duplicate-cn down-pre disable-occ disable comp-noadapt comp-lzo 
+     \ client-to-client client-cert-not-required client ccd-exclusive bind 
+     \ auto-proxy auth-nocache
+     \ nextgroup=openvpnNoArgLine
+
+syntax keyword openvpnOption
+     \ writepid verb user up txqueuelen tun-mtu-extra tun-mtu tran-window 
+     \ topology tmp-dir tls-verify tls-timeout tls-remote tls-cipher tls-auth 
+     \ tcp-queue-limit syslog status-version status socks-proxy sndbuf shaper 
+     \ setenv server-bridge secret rport route-up route-metric route-gateway 
+     \ route-delay resolv-retry replay-window replay-persist reneg-sec 
+     \ reneg-pkts reneg-bytes remote-cert-tls remote-cert-ku remote-cert-eku 
+     \ remote remap-usr1 redirect-gateway rcvbuf push proto port-share port 
+     \ plugin pkcs12 ping-restart ping-exit ping ns-cert-type nice mute 
+     \ mtu-disc mssfix mode max-routes-per-client max-clients 
+     \ management-log-cache management lport log-append log local lladdr 
+     \ link-mtu learn-address keysize key-method key keepalive iroute iproute 
+     \ ipchange inetd inactive ifconfig-push ifconfig-pool-persist 
+     \ ifconfig-pool ifconfig http-proxy-timeout http-proxy-option http-proxy 
+     \ hash-size hand-window group gremlin fragment explicit-exit-notify 
+     \ engine echo down dh dev-type dev-node dev daemon crl-verify 
+     \ connect-timeout connect-retry-max connect-retry connect-freq 
+     \ client-disconnect client-connect client-config-dir cipher chroot cert 
+     \ cd capath ca bcast-buffers auth-user-pass-verify auth-user-pass 
+     \ auth-retry auth askpass
+     \ nextgroup=openvpnArgLine
+
+" End autogenerated section.
+
+"============================================================================
+" Section:  Group Linking  {{{1
+"============================================================================
+
+OpenvpnHiLink openvpnOption        Keyword
+OpenvpnHiLink openvpnComment       Comment
+OpenvpnHiLink openvpnQuote         String
+
+OpenvpnHiLink openvpnDevice        Identifier
+OpenvpnHiLink openvpnNumber        Number
+
+OpenvpnHiLink openvpnAddress       Constant
+OpenvpnHiLink openvpnMaskAddress   Special
+
+OpenvpnHiLink openvpnRouteAddress  Identifier
+OpenvpnHiLink openvpnRouteMetric   Number
+
+OpenvpnHiLink openvpnSpecial       Special
+OpenvpnHiLink openvpnExtraneousArg Error
+OpenvpnHiLink openvpnTodo          Todo   
+
+"============================================================================
+" Section:  Clean Up    {{{1
+"============================================================================
+
+delcommand OpenvpnHiLink
+
+let b:current_syntax = "openvpn"
+
+if main_syntax == 'openvpn'
+  unlet main_syntax
+endif
+
+" Autoconfigure vim indentation settings
+" vim:ts=4:sw=4:sts=4:fdm=marker:iskeyword+=-
================================================================


More information about the pld-cvs-commit mailing list