2 <!DOCTYPE MODE SYSTEM "xmode.dtd">
4 <!-- URL mode, by Kevin Hunter of caktusgroup.com (kevin@) for jEdit -->
6 Attempting to implement http://en.wikipedia.org/wiki/URI_scheme. Most
7 schemes should work. There are some commented out. However, as of
8 Wed, 11 Jun 2008, I'm still working out some kinks. Specifically,
11 http://www.example.com/
12 http://www.example.com/path/to/file?id=true
13 http://user@example.com/path/to/file
14 http://user:pass@example.com/path/to/file
18 http://www.example.com (no trailing / messes it up)
19 http://www.example.com/p/t/f?id=2&var=true ('&' and 'var' do not get marked)
24 <PROPERTY NAME='wordBreakChars' VALUE=',-=<>/?^&*' />
27 <RULES SET='DOMAINNAME'
31 <MARK_PREVIOUS TYPE='LITERAL2' MATCH_TYPE='OPERATOR'>@</MARK_PREVIOUS>
32 <MARK_PREVIOUS TYPE='LITERAL2' MATCH_TYPE='OPERATOR'>:</MARK_PREVIOUS>
33 <MARK_PREVIOUS TYPE='LITERAL2' MATCH_TYPE='OPERATOR'>/</MARK_PREVIOUS>
35 <SPAN_REGEXP MATCH_TYPE='LITERAL2' NO_LINE_BREAK='TRUE' NO_WORD_BREAK='TRUE'>
36 <BEGIN>(?=\b[\w.:-]+@(\b))</BEGIN> <!-- Why doesn't this match at the *boundary* between :// and <username>? It's wrapped in a (?=<look ahead assertion>) -->
39 <SPAN_REGEXP MATCH_TYPE='LITERAL1' NO_LINE_BREAK='TRUE' NO_WORD_BREAK='TRUE'>
40 <BEGIN>(\b)[\w.-]+((?=/))</BEGIN>
43 <EOL_SPAN TYPE='LITERAL4' MATCH_TYPE='OPERATOR'>/</EOL_SPAN>
47 HIGHLIGHT_DIGITS='TRUE' DIGIT_RE='[0-9][0-9a-zA-Z]*'>
49 <MARK_FOLLOWING TYPE='LITERAL2' MATCH_TYPE='OPERATOR'>?</MARK_FOLLOWING>
50 <!-- <MARK_FOLLOWING TYPE='LITERAL2' MATCH_TYPE='OPERATOR'>&</MARK_FOLLOWING> -->
52 <SEQ TYPE='OPERATOR'>/</SEQ>
53 <SEQ TYPE='LITERAL4'>+</SEQ>
55 <SPAN_REGEXP TYPE='LITERAL1' MATCH_TYPE='OPERATOR' NO_LINE_BREAK='TRUE' NO_WORD_BREAK='FALSE'>
59 <SPAN DELEGATE='DOMAINNAME' TYPE='LITERAL2' MATCH_TYPE='OPERATOR' NO_LINE_BREAK='TRUE' NO_WORD_BREAK='TRUE'>
64 <IMPORT DELEGATE='SCHEMES' />
66 <RULES SET='SCHEMES' IGNORE_CASE='TRUE'>
69 <KEYWORD1>aaa</KEYWORD1> <!-- Diameter Protocol RFC 3588 -->
70 <KEYWORD1>aaas</KEYWORD1> <!-- Diameter Protocol (secure) RFC 3588 -->
71 <KEYWORD1>acap</KEYWORD1> <!-- Application Configuration Access Protocol RFC 2244 -->
72 <KEYWORD1>cap</KEYWORD1> <!-- Calendar access protocol RFC 4324 -->
73 <KEYWORD1>cid</KEYWORD1> <!-- Referencing individual parts of an SMTP/MIME message RFC 2392 -->
74 <KEYWORD1>crid</KEYWORD1> <!-- TV-Anytime Content Reference Identifier RFC 4078 -->
75 <KEYWORD1>data</KEYWORD1> <!-- Inclusion of small data items inline RFC 2397 -->
76 <KEYWORD1>dav</KEYWORD1> <!-- HTTP Extensions for Distributed Authoring (WebDAV) RFC 2518 -->
77 <KEYWORD1>dict</KEYWORD1> <!-- Dictionary service protocol RFC 2229 -->
78 <KEYWORD1>dns</KEYWORD1> <!-- Domain Name System RFC 4501 -->
79 <KEYWORD1>fax</KEYWORD1> <!-- Used for telefacsimile numbers RFC 2806 -->
80 <KEYWORD1>ftp</KEYWORD1> <!-- File Transfer Protocal RFC 1738 -->
81 <KEYWORD1>file</KEYWORD1> <!-- Addressing files on local or network file systems RFC 1738 -->
82 <KEYWORD1>ftp</KEYWORD1> <!-- FTP resources RFC 1738 -->
83 <KEYWORD1>go</KEYWORD1> <!-- Common Name Resolution Protocol RFC 3368 -->
84 <KEYWORD1>gopher</KEYWORD1> <!-- Used with Gopher protocol RFC 4266 -->
85 <KEYWORD1>h323</KEYWORD1> <!-- Used with H.323 multimedia communications RFC 3508 -->
86 <KEYWORD1>http</KEYWORD1> <!-- HTTP resources RFC 2616 -->
87 <KEYWORD1>https</KEYWORD1> <!-- HTTP connections secured using SSL/TLS RFC 2817 -->
88 <KEYWORD1>icap</KEYWORD1> <!-- Internet Content Adaptation Protocol RFC 3507 -->
89 <KEYWORD1>im</KEYWORD1> <!-- Instant messaging protocol RFC 3860 RFC 4622 -->
90 <KEYWORD1>imap</KEYWORD1> <!-- Accessing e-mail resources through IMAP RFC 2192 -->
91 <KEYWORD1>info</KEYWORD1> <!-- Information Assets with Identifiers in Public Namespaces RFC 4452 -->
92 <KEYWORD1>ipp</KEYWORD1> <!-- Internet Printing Protocol RFC 3510 -->
93 <KEYWORD1>iris</KEYWORD1> <!-- Internet Registry Information Service RFC 3981 -->
94 <KEYWORD1>ldap</KEYWORD1> <!-- LDAP directory request RFC 2255 RFC 4516 -->
95 <!-- <KEYWORD1>mailto</KEYWORD1> SMTP e-mail addresses and default content RFC 2368 -->
96 <KEYWORD1>mid</KEYWORD1> <!-- Referencing SMTP/MIME messages, or parts of messages. RFC 2392 -->
97 <KEYWORD1>modem</KEYWORD1> <!-- modem RFC 3966 -->
98 <KEYWORD1>msrp</KEYWORD1> <!-- msrps Message Session Relay Protocol RFC 4975 -->
99 <KEYWORD1>mtqp</KEYWORD1> <!-- Message Tracking Query Protocol RFC 3887 -->
100 <KEYWORD1>mupdate</KEYWORD1> <!-- Mailbox Update Protocol RFC 3656 -->
101 <KEYWORD1>news</KEYWORD1> <!-- (Usenet) newsgroups and postings RFC 1738 -->
102 <KEYWORD1>nfs</KEYWORD1> <!-- Network File System resources RFC 2224 -->
103 <KEYWORD1>nntp</KEYWORD1> <!-- Usenet NNTP RFC 1738 -->
104 <KEYWORD1>opaquelocktoken</KEYWORD1> <!-- opaquelocktoken RFC 4918 -->
105 <KEYWORD1>pop</KEYWORD1> <!-- Accessing mailbox through POP3 RFC 2384 -->
106 <KEYWORD1>pres</KEYWORD1> <!-- Used in Common Profile for Presence (CPP) to identify presence RFC 3859 -->
107 <KEYWORD1>prospero</KEYWORD1> <!-- Prospero Directory Service RFC 4157 -->
108 <KEYWORD1>rtsp</KEYWORD1> <!-- Real Time Streaming Protocol RFC 2326 -->
109 <KEYWORD1>service</KEYWORD1> <!-- ??? RFC 2609 -->
110 <KEYWORD1>shttp</KEYWORD1> <!-- Secure HTTP RFC 2660 -->
111 <!-- <KEYWORD1>sip</KEYWORD1> Used with Session Initiation Protocol (SIP) RFC 3969 RFC 3261 -->
112 <!-- <KEYWORD1>sips</KEYWORD1> Secure equivalent of sip RFC 3969 RFC 3261 -->
113 <KEYWORD1>snmp</KEYWORD1> <!-- Simple Network Management Protocol RFC 4088 -->
114 <KEYWORD1>tag</KEYWORD1> <!-- ??? RFC 4151 -->
115 <KEYWORD1>telnet</KEYWORD1> <!-- Used with telnet RFC 4248 -->
116 <KEYWORD1>tftp</KEYWORD1> <!-- Trivial File Transfer Protocol RFC 3617 -->
117 <KEYWORD1>thismessage</KEYWORD1> <!-- multipart/related relative reference resolution RFC 2557 -->
118 <KEYWORD1>tip</KEYWORD1> <!-- Transaction Internet Protocol RFC 2371 -->
119 <KEYWORD1>tv</KEYWORD1> <!-- TV Broadcasts RFC 2838 -->
120 <KEYWORD1>urn</KEYWORD1> <!-- Uniform Resource Names RFC 2141 -->
121 <KEYWORD1>vemmi</KEYWORD1> <!-- Versatile Multimedia Interface RFC 2122 -->
122 <KEYWORD1>wais</KEYWORD1> <!-- Used with Wide area information server (WAIS) RFC 4156 -->
123 <KEYWORD1>xmlrpc.beep</KEYWORD1> <!-- xmlrpc.beep RFC 3529 -->
124 <KEYWORD1>xmpp</KEYWORD1> <!-- XMPP (Jabber) RFC 5122 -->
126 <!-- Unofficial but common URL schemes -->
127 <KEYWORD2>chrome</KEYWORD2> <!-- Used in Mozilla/Gecko based browsers -->
128 <KEYWORD2>cvs</KEYWORD2> <!-- Concurrent Versions System (CVS) Repository Access -->
129 <!-- <KEYWORD2>ed2k</KEYWORD2> Resources available using the eDonkey2000 network -->
130 <KEYWORD2>feed</KEYWORD2> <!-- web feed subscription -->
131 <KEYWORD2>fish</KEYWORD2> <!-- Accessing another computer's files using the SSH protocol -->
132 <KEYWORD2>gg</KEYWORD2> <!-- Starting chat with Gadu-Gadu user -->
133 <KEYWORD2>gizmoproject</KEYWORD2> <!-- Gizmo Project calling link. -->
134 <!-- <KEYWORD2>iax2</KEYWORD2> Inter-Asterisk eXchange protocol version 2 IETF Draft -->
135 <KEYWORD2>irc</KEYWORD2> <!-- Connecting to a server to join a channel. IETF Draft -->
136 <KEYWORD2>ircs</KEYWORD2> <!-- Secure equivalent of irc IETF Draft -->
137 <KEYWORD2>keyparc</KEYWORD2> <!-- Keyparc encrypt/decrypt resource. -->
138 <KEYWORD2>lastfm</KEYWORD2> <!-- Connecting to a radio stream from Last.fm. -->
139 <KEYWORD2>ldaps</KEYWORD2> <!-- Secure equivalent of ldap -->
140 <!-- <KEYWORD2>magnet</KEYWORD2> "magnet links" -->
141 <KEYWORD2>(other</KEYWORD2> <!-- parameters are also possible) -->
142 <KEYWORD2>mms</KEYWORD2> <!-- Windows streaming media -->
143 <!-- <KEYWORD2>mvn</KEYWORD2> Access Apache Maven repository artifacts -->
144 <KEYWORD2>nsfw</KEYWORD2> <!-- Not Safe For Work -->
145 <KEYWORD2>psyc</KEYWORD2> <!-- Used to identify or locate a person, group, or place -->
146 <KEYWORD2>rsync</KEYWORD2> <!-- Rsync -->
147 <KEYWORD2>secondlife</KEYWORD2> <!-- Open the Map floater in Second Life -->
148 <KEYWORD2>sftp</KEYWORD2> <!-- SFTP file transfers (not FTPS (FTP/SSL)) IETF Draft -->
149 <KEYWORD2>skype</KEYWORD2> <!-- Launching Skype call (official; see also callto:) -->
150 <KEYWORD2>ssh</KEYWORD2> <!-- SSH connections (like telnet:) and -->
151 <KEYWORD2>smb</KEYWORD2> <!-- Accessing SMB/CIFS shares IETF Draft -->
152 <KEYWORD2>soldat</KEYWORD2> <!-- Joining servers -->
153 <!-- <KEYWORD2>steam</KEYWORD2> Interact with Steam -->
154 <KEYWORD2>teamspeak</KEYWORD2> <!-- Joining a server. -->
155 <KEYWORD2>unreal</KEYWORD2> <!-- Joining servers -->
156 <KEYWORD2>ut2004</KEYWORD2> <!-- Joining servers -->
157 <KEYWORD2>ventrilo</KEYWORD2> <!-- Joining a server. -->
158 <!-- <KEYWORD2>view-source</KEYWORD2> Shows a web page as code 'in the raw'. -->
159 <KEYWORD2>webcal</KEYWORD2> <!-- Subscribing to calendars in iCalendar format -->
160 <KEYWORD2>wyciwyg</KEYWORD2> <!-- What You Cache Is What You Get WYCIWYG -->
161 <KEYWORD2>xfire</KEYWORD2> <!-- Adding friends and servers, joining servers -->
162 <KEYWORD2>ymsgr</KEYWORD2> <!-- Sending an instant message to a Yahoo! Contact. -->