mirror of
				https://github.com/KevinMidboe/linguist.git
				synced 2025-10-29 17:50:22 +00:00 
			
		
		
		
	Removing nuked grammars
This commit is contained in:
		| @@ -1,32 +0,0 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | ||||
| <plist version="1.0"> | ||||
| <dict> | ||||
| 	<key>beforeRunningCommand</key> | ||||
| 	<string>nop</string> | ||||
| 	<key>command</key> | ||||
| 	<string>#!/bin/bash | ||||
|  | ||||
| NAME="$(cat)" | ||||
| if [[ -z "$NAME" ]]; then | ||||
| 	NAME="\$1" | ||||
| fi | ||||
|  | ||||
| echo "\`$NAME\`\$0" | ||||
| </string> | ||||
| 	<key>fallbackInput</key> | ||||
| 	<string>word</string> | ||||
| 	<key>input</key> | ||||
| 	<string>selection</string> | ||||
| 	<key>keyEquivalent</key> | ||||
| 	<string>^'</string> | ||||
| 	<key>name</key> | ||||
| 	<string>Infix Function Call From Word / Selection</string> | ||||
| 	<key>output</key> | ||||
| 	<string>insertAsSnippet</string> | ||||
| 	<key>scope</key> | ||||
| 	<string>source.haskell</string> | ||||
| 	<key>uuid</key> | ||||
| 	<string>FA4AA254-EB7D-4B43-AC67-066AA9E8E8D9</string> | ||||
| </dict> | ||||
| </plist> | ||||
| @@ -1,53 +0,0 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | ||||
| <plist version="1.0"> | ||||
| <dict> | ||||
| 	<key>beforeRunningCommand</key> | ||||
| 	<string>nop</string> | ||||
| 	<key>command</key> | ||||
| 	<string>#!/bin/bash | ||||
|  | ||||
| THASKELL=${TM_HASKELL:-ghci} | ||||
|  | ||||
| esc () { | ||||
| STR="$1" ruby18 <<"RUBY" | ||||
|    str = ENV['STR'] | ||||
|    str = str.gsub(/'/, "'\\\\''") | ||||
|    str = str.gsub(/[\\"]/, '\\\\\\0') | ||||
|    print "'#{str}'" | ||||
| RUBY | ||||
| } | ||||
|  | ||||
| osascript <<- APPLESCRIPT | ||||
| tell app "Terminal" | ||||
| 	launch | ||||
| 	activate | ||||
| 	do script "clear; cd $(esc "${TM_DIRECTORY}"); ${THASKELL} $(esc "${TM_FILEPATH}")" | ||||
| 	set position of first window to {100, 100} | ||||
| end tell | ||||
| APPLESCRIPT | ||||
| </string> | ||||
| 	<key>input</key> | ||||
| 	<string>none</string> | ||||
| 	<key>inputFormat</key> | ||||
| 	<string>text</string> | ||||
| 	<key>keyEquivalent</key> | ||||
| 	<string>@R</string> | ||||
| 	<key>name</key> | ||||
| 	<string>Load in GHCi</string> | ||||
| 	<key>outputCaret</key> | ||||
| 	<string>afterOutput</string> | ||||
| 	<key>outputFormat</key> | ||||
| 	<string>text</string> | ||||
| 	<key>outputLocation</key> | ||||
| 	<string>toolTip</string> | ||||
| 	<key>scope</key> | ||||
| 	<string>source.haskell</string> | ||||
| 	<key>semanticClass</key> | ||||
| 	<string>process.external.run.haskell</string> | ||||
| 	<key>uuid</key> | ||||
| 	<string>2242C46C-153E-4EEB-B80B-A5398559D759</string> | ||||
| 	<key>version</key> | ||||
| 	<integer>2</integer> | ||||
| </dict> | ||||
| </plist> | ||||
| @@ -1,25 +0,0 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | ||||
| <plist version="1.0"> | ||||
| <dict> | ||||
| 	<key>beforeRunningCommand</key> | ||||
| 	<string>nop</string> | ||||
| 	<key>command</key> | ||||
| 	<string>#!/bin/bash | ||||
| echo "<meta http-equiv=\"refresh\" content=\"0; http://haskell.org/hoogle/?q=$(cat)\">"</string> | ||||
| 	<key>fallbackInput</key> | ||||
| 	<string>word</string> | ||||
| 	<key>input</key> | ||||
| 	<string>selection</string> | ||||
| 	<key>keyEquivalent</key> | ||||
| 	<string>^H</string> | ||||
| 	<key>name</key> | ||||
| 	<string>Lookup on Hoogle</string> | ||||
| 	<key>output</key> | ||||
| 	<string>showAsHTML</string> | ||||
| 	<key>scope</key> | ||||
| 	<string>source.haskell</string> | ||||
| 	<key>uuid</key> | ||||
| 	<string>50D814AE-D850-4C97-AF3E-1FDE4366C6A3</string> | ||||
| </dict> | ||||
| </plist> | ||||
| @@ -1,34 +0,0 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | ||||
| <plist version="1.0"> | ||||
| <dict> | ||||
| 	<key>beforeRunningCommand</key> | ||||
| 	<string>nop</string> | ||||
| 	<key>command</key> | ||||
| 	<string>#!/bin/bash | ||||
|  | ||||
| NAME=${TM_FILENAME%.hs} | ||||
| if [[ -z "$NAME" ]]; then | ||||
| 	NAME="Main" | ||||
| fi | ||||
|  | ||||
| cat <<SNIPPET | ||||
| module \${1:$NAME} \${2/.+/( | ||||
| 	/m}\${2:function}\${2/.+/ | ||||
| ) /m}where | ||||
| \$0 | ||||
| SNIPPET</string> | ||||
| 	<key>input</key> | ||||
| 	<string>none</string> | ||||
| 	<key>name</key> | ||||
| 	<string>module …</string> | ||||
| 	<key>output</key> | ||||
| 	<string>insertAsSnippet</string> | ||||
| 	<key>scope</key> | ||||
| 	<string>source.haskell</string> | ||||
| 	<key>tabTrigger</key> | ||||
| 	<string>mod</string> | ||||
| 	<key>uuid</key> | ||||
| 	<string>156D0588-A61A-4419-9C71-6E47320A4DA5</string> | ||||
| </dict> | ||||
| </plist> | ||||
| @@ -1,55 +0,0 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | ||||
| <plist version="1.0"> | ||||
| <dict> | ||||
| 	<key>beforeRunningCommand</key> | ||||
| 	<string>saveModifiedFiles</string> | ||||
| 	<key>command</key> | ||||
| 	<string>#!/usr/bin/env ruby18 -wKU | ||||
| require "#{ENV["TM_SUPPORT_PATH"]}/lib/tm/save_current_document" | ||||
| require "#{ENV["TM_SUPPORT_PATH"]}/lib/tm/executor" | ||||
| require "#{ENV["TM_SUPPORT_PATH"]}/lib/escape" | ||||
|  | ||||
| TextMate.save_if_untitled('hs') | ||||
|  | ||||
| haskell = e_sh(ENV['TM_HASKELL'] || 'runhaskell') | ||||
| TextMate::Executor.run(haskell, ENV['TM_FILEPATH']) | ||||
| </string> | ||||
| 	<key>input</key> | ||||
| 	<string>document</string> | ||||
| 	<key>inputFormat</key> | ||||
| 	<string>text</string> | ||||
| 	<key>keyEquivalent</key> | ||||
| 	<string>@r</string> | ||||
| 	<key>name</key> | ||||
| 	<string>Run</string> | ||||
| 	<key>outputCaret</key> | ||||
| 	<string>afterOutput</string> | ||||
| 	<key>outputFormat</key> | ||||
| 	<string>html</string> | ||||
| 	<key>outputLocation</key> | ||||
| 	<string>newWindow</string> | ||||
| 	<key>requiredCommands</key> | ||||
| 	<array> | ||||
| 		<dict> | ||||
| 			<key>command</key> | ||||
| 			<string>runhaskell</string> | ||||
| 			<key>locations</key> | ||||
| 			<array> | ||||
| 				<string>/opt/local/bin/runhugs</string> | ||||
| 				<string>/usr/local/bin/runhaskell</string> | ||||
| 			</array> | ||||
| 			<key>variable</key> | ||||
| 			<string>TM_HASKELL</string> | ||||
| 		</dict> | ||||
| 	</array> | ||||
| 	<key>scope</key> | ||||
| 	<string>source.haskell</string> | ||||
| 	<key>semanticClass</key> | ||||
| 	<string>process.run.script.haskell</string> | ||||
| 	<key>uuid</key> | ||||
| 	<string>3B083BE7-9812-4F06-A758-CCAD9514E797</string> | ||||
| 	<key>version</key> | ||||
| 	<integer>2</integer> | ||||
| </dict> | ||||
| </plist> | ||||
| @@ -1,24 +0,0 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | ||||
| <plist version="1.0"> | ||||
| <dict> | ||||
| 	<key>beforeRunningCommand</key> | ||||
| 	<string>nop</string> | ||||
| 	<key>command</key> | ||||
| 	<string>haskelltype "$(cat)"</string> | ||||
| 	<key>fallbackInput</key> | ||||
| 	<string>word</string> | ||||
| 	<key>input</key> | ||||
| 	<string>selection</string> | ||||
| 	<key>keyEquivalent</key> | ||||
| 	<string>^h</string> | ||||
| 	<key>name</key> | ||||
| 	<string>Show Type</string> | ||||
| 	<key>output</key> | ||||
| 	<string>showAsTooltip</string> | ||||
| 	<key>scope</key> | ||||
| 	<string>source.haskell</string> | ||||
| 	<key>uuid</key> | ||||
| 	<string>6B723007-D4EE-476B-8282-76230C559D5A</string> | ||||
| </dict> | ||||
| </plist> | ||||
| @@ -1,36 +0,0 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | ||||
| <plist version="1.0"> | ||||
| <dict> | ||||
| 	<key>name</key> | ||||
| 	<string>Comments</string> | ||||
| 	<key>scope</key> | ||||
| 	<string>source.haskell</string> | ||||
| 	<key>settings</key> | ||||
| 	<dict> | ||||
| 		<key>shellVariables</key> | ||||
| 		<array> | ||||
| 			<dict> | ||||
| 				<key>name</key> | ||||
| 				<string>TM_COMMENT_START_2</string> | ||||
| 				<key>value</key> | ||||
| 				<string>{-</string> | ||||
| 			</dict> | ||||
| 			<dict> | ||||
| 				<key>name</key> | ||||
| 				<string>TM_COMMENT_END_2</string> | ||||
| 				<key>value</key> | ||||
| 				<string>-}</string> | ||||
| 			</dict> | ||||
| 			<dict> | ||||
| 				<key>name</key> | ||||
| 				<string>TM_COMMENT_START</string> | ||||
| 				<key>value</key> | ||||
| 				<string>-- </string> | ||||
| 			</dict> | ||||
| 		</array> | ||||
| 	</dict> | ||||
| 	<key>uuid</key> | ||||
| 	<string>E3994307-4D9E-44D6-832E-52C244F1CDF3</string> | ||||
| </dict> | ||||
| </plist> | ||||
| @@ -1,23 +0,0 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | ||||
| <plist version="1.0"> | ||||
| <dict> | ||||
| 	<key>name</key> | ||||
| 	<string>Indentation</string> | ||||
| 	<key>scope</key> | ||||
| 	<string>source.haskell</string> | ||||
| 	<key>settings</key> | ||||
| 	<dict> | ||||
| 		<key>decreaseIndentPattern</key> | ||||
| 		<string>^\s*$</string> | ||||
| 		<key>disableIndentCorrections</key> | ||||
| 		<true/> | ||||
| 		<key>increaseIndentPattern</key> | ||||
| 		<string>((^.*(=|\bdo|\bwhere|\bthen|\belse|\bof)\s*$)|(^.*\bif(?!.*\bthen\b.*\belse\b.*).*$))</string> | ||||
| 		<key>indentOnPaste</key> | ||||
| 		<string>simple</string> | ||||
| 	</dict> | ||||
| 	<key>uuid</key> | ||||
| 	<string>39417FB9-B85C-4213-BB1D-C19BCDD4E487</string> | ||||
| </dict> | ||||
| </plist> | ||||
| @@ -1,17 +0,0 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | ||||
| <plist version="1.0"> | ||||
| <dict> | ||||
| 	<key>name</key> | ||||
| 	<string>Symbol List</string> | ||||
| 	<key>scope</key> | ||||
| 	<string>source.haskell entity.name.function.infix</string> | ||||
| 	<key>settings</key> | ||||
| 	<dict> | ||||
| 		<key>showInSymbolList</key> | ||||
| 		<string>0</string> | ||||
| 	</dict> | ||||
| 	<key>uuid</key> | ||||
| 	<string>0C39B945-E2C0-4E43-8A5B-332F6FA73C67</string> | ||||
| </dict> | ||||
| </plist> | ||||
| @@ -1,38 +0,0 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | ||||
| <plist version="1.0"> | ||||
| <dict> | ||||
| 	<key>name</key> | ||||
| 	<string>Typing Pairs</string> | ||||
| 	<key>scope</key> | ||||
| 	<string>source.haskell - comment</string> | ||||
| 	<key>settings</key> | ||||
| 	<dict> | ||||
| 		<key>smartTypingPairs</key> | ||||
| 		<array> | ||||
| 			<array> | ||||
| 				<string>"</string> | ||||
| 				<string>"</string> | ||||
| 			</array> | ||||
| 			<array> | ||||
| 				<string>{</string> | ||||
| 				<string>}</string> | ||||
| 			</array> | ||||
| 			<array> | ||||
| 				<string>[</string> | ||||
| 				<string>]</string> | ||||
| 			</array> | ||||
| 			<array> | ||||
| 				<string>(</string> | ||||
| 				<string>)</string> | ||||
| 			</array> | ||||
| 			<array> | ||||
| 				<string>`</string> | ||||
| 				<string>`</string> | ||||
| 			</array> | ||||
| 		</array> | ||||
| 	</dict> | ||||
| 	<key>uuid</key> | ||||
| 	<string>FBF9D932-D5CE-4EC4-9162-122E511C8627</string> | ||||
| </dict> | ||||
| </plist> | ||||
							
								
								
									
										20
									
								
								vendor/grammars/haskell.tmbundle/README.mdown
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										20
									
								
								vendor/grammars/haskell.tmbundle/README.mdown
									
									
									
									
										vendored
									
									
								
							| @@ -1,20 +0,0 @@ | ||||
| # Installation | ||||
|  | ||||
| You can install this bundle in TextMate by opening the preferences and going to the bundles tab. After installation it will be automatically updated for you. | ||||
|  | ||||
| # General | ||||
|  | ||||
| * [Bundle Styleguide](http://kb.textmate.org/bundle_styleguide) — _before you make changes_ | ||||
| * [Commit Styleguide](http://kb.textmate.org/commit_styleguide) — _before you send a pull request_ | ||||
| * [Writing Bug Reports](http://kb.textmate.org/writing_bug_reports) — _before you report an issue_ | ||||
|  | ||||
| # License | ||||
|  | ||||
| If not otherwise specified (see below), files in this repository fall under the following license: | ||||
|  | ||||
| 	Permission to copy, use, modify, sell and distribute this | ||||
| 	software is granted. This software is provided "as is" without | ||||
| 	express or implied warranty, and with no claim as to its | ||||
| 	suitability for any purpose. | ||||
|  | ||||
| An exception is made for files in readable text which contain their own license information, or files where an accompanying file exists (in the same directory) with a “-license” suffix added to the base-name name of the original file, and an extension of txt, html, or similar. For example “tidy” is accompanied by “tidy-license.txt”. | ||||
| @@ -1,16 +0,0 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | ||||
| <plist version="1.0"> | ||||
| <dict> | ||||
| 	<key>content</key> | ||||
| 	<string>${1:name} ${2:pattern}${2/.+/ /}= ${0:definition}</string> | ||||
| 	<key>name</key> | ||||
| 	<string>Definition</string> | ||||
| 	<key>scope</key> | ||||
| 	<string>source.haskell</string> | ||||
| 	<key>tabTrigger</key> | ||||
| 	<string>=</string> | ||||
| 	<key>uuid</key> | ||||
| 	<string>81886A7D-5EE8-438C-9FC8-6BA3B65E444A</string> | ||||
| </dict> | ||||
| </plist> | ||||
| @@ -1,17 +0,0 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | ||||
| <plist version="1.0"> | ||||
| <dict> | ||||
| 	<key>content</key> | ||||
| 	<string>${1:name} :: ${2:Type} | ||||
| ${1} ${3:pattern}${3/.+/ /}${4/.+/= /}${4:definition}</string> | ||||
| 	<key>name</key> | ||||
| 	<string>Function</string> | ||||
| 	<key>scope</key> | ||||
| 	<string>source.haskell</string> | ||||
| 	<key>tabTrigger</key> | ||||
| 	<string>fun</string> | ||||
| 	<key>uuid</key> | ||||
| 	<string>A83076A6-EC6F-418F-B8F9-9AE952964242</string> | ||||
| </dict> | ||||
| </plist> | ||||
| @@ -1,16 +0,0 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | ||||
| <plist version="1.0"> | ||||
| <dict> | ||||
| 	<key>content</key> | ||||
| 	<string>| ${1:predicate} = ${0:definition}</string> | ||||
| 	<key>name</key> | ||||
| 	<string>Guard</string> | ||||
| 	<key>scope</key> | ||||
| 	<string>source.haskell - comment</string> | ||||
| 	<key>tabTrigger</key> | ||||
| 	<string>|</string> | ||||
| 	<key>uuid</key> | ||||
| 	<string>BA1329DB-9437-4246-839A-48A49B48D31D</string> | ||||
| </dict> | ||||
| </plist> | ||||
| @@ -1,16 +0,0 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | ||||
| <plist version="1.0"> | ||||
| <dict> | ||||
| 	<key>content</key> | ||||
| 	<string>| ${0:documentation}</string> | ||||
| 	<key>name</key> | ||||
| 	<string>Haddock Postfix</string> | ||||
| 	<key>scope</key> | ||||
| 	<string>source.haskell comment.block</string> | ||||
| 	<key>tabTrigger</key> | ||||
| 	<string>|</string> | ||||
| 	<key>uuid</key> | ||||
| 	<string>961E79B9-CC31-4843-BBE9-51F46598BC25</string> | ||||
| </dict> | ||||
| </plist> | ||||
| @@ -1,16 +0,0 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | ||||
| <plist version="1.0"> | ||||
| <dict> | ||||
| 	<key>content</key> | ||||
| 	<string>^ ${0:documentation}</string> | ||||
| 	<key>name</key> | ||||
| 	<string>Haddock Prefix</string> | ||||
| 	<key>scope</key> | ||||
| 	<string>source.haskell comment.block</string> | ||||
| 	<key>tabTrigger</key> | ||||
| 	<string>^</string> | ||||
| 	<key>uuid</key> | ||||
| 	<string>E0E613C1-0760-46BC-A51E-168E658904C5</string> | ||||
| </dict> | ||||
| </plist> | ||||
| @@ -1,17 +0,0 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | ||||
| <plist version="1.0"> | ||||
| <dict> | ||||
| 	<key>content</key> | ||||
| 	<string>#!/usr/bin/env ${1:runhaskell} | ||||
| </string> | ||||
| 	<key>name</key> | ||||
| 	<string>#!/usr/bin/env…</string> | ||||
| 	<key>scope</key> | ||||
| 	<string>source.haskell</string> | ||||
| 	<key>tabTrigger</key> | ||||
| 	<string>#!</string> | ||||
| 	<key>uuid</key> | ||||
| 	<string>54495635-CC26-4C14-A202-5C0CA4B078C2</string> | ||||
| </dict> | ||||
| </plist> | ||||
| @@ -1,16 +0,0 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | ||||
| <plist version="1.0"> | ||||
| <dict> | ||||
| 	<key>content</key> | ||||
| 	<string>\\${1:pattern} -> ${0:expression}</string> | ||||
| 	<key>name</key> | ||||
| 	<string>Lambda Expression</string> | ||||
| 	<key>scope</key> | ||||
| 	<string>source.haskell</string> | ||||
| 	<key>tabTrigger</key> | ||||
| 	<string>\</string> | ||||
| 	<key>uuid</key> | ||||
| 	<string>0672CE3D-A796-44B1-AEF2-975C0FB27184</string> | ||||
| </dict> | ||||
| </plist> | ||||
| @@ -1,18 +0,0 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | ||||
| <plist version="1.0"> | ||||
| <dict> | ||||
| 	<key>content</key> | ||||
| 	<string>${1:name} <- ${0:expression}</string> | ||||
| 	<key>keyEquivalent</key> | ||||
| 	<string>^,</string> | ||||
| 	<key>name</key> | ||||
| 	<string>Left Arrow</string> | ||||
| 	<key>scope</key> | ||||
| 	<string>source.haskell</string> | ||||
| 	<key>tabTrigger</key> | ||||
| 	<string><</string> | ||||
| 	<key>uuid</key> | ||||
| 	<string>9EF1F854-442C-40B2-BED5-454A015AA26D</string> | ||||
| </dict> | ||||
| </plist> | ||||
| @@ -1,16 +0,0 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | ||||
| <plist version="1.0"> | ||||
| <dict> | ||||
| 	<key>content</key> | ||||
| 	<string>[ ${1:expression} | ${2:name} <- ${3:expression}${4/.+/, /}${4:condition} </string> | ||||
| 	<key>name</key> | ||||
| 	<string>List Comprehension</string> | ||||
| 	<key>scope</key> | ||||
| 	<string>source.haskell constant.language.nil</string> | ||||
| 	<key>tabTrigger</key> | ||||
| 	<string>[</string> | ||||
| 	<key>uuid</key> | ||||
| 	<string>C721BD84-71FA-423F-8460-2CED4954137F</string> | ||||
| </dict> | ||||
| </plist> | ||||
| @@ -1,20 +0,0 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | ||||
| <plist version="1.0"> | ||||
| <dict> | ||||
| 	<key>content</key> | ||||
| 	<string>module Main where | ||||
|  | ||||
| main :: IO () | ||||
| main = ${0:putStrLn "Hello World"} | ||||
| </string> | ||||
| 	<key>name</key> | ||||
| 	<string>Main</string> | ||||
| 	<key>scope</key> | ||||
| 	<string>source.haskell</string> | ||||
| 	<key>tabTrigger</key> | ||||
| 	<string>main</string> | ||||
| 	<key>uuid</key> | ||||
| 	<string>A3A65891-D126-4D2D-9E6B-E20ADE2EAA88</string> | ||||
| </dict> | ||||
| </plist> | ||||
| @@ -1,18 +0,0 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | ||||
| <plist version="1.0"> | ||||
| <dict> | ||||
| 	<key>content</key> | ||||
| 	<string>${1:expression} -> ${0:expression}</string> | ||||
| 	<key>keyEquivalent</key> | ||||
| 	<string>^.</string> | ||||
| 	<key>name</key> | ||||
| 	<string>Right Arrow</string> | ||||
| 	<key>scope</key> | ||||
| 	<string>source.haskell</string> | ||||
| 	<key>tabTrigger</key> | ||||
| 	<string>></string> | ||||
| 	<key>uuid</key> | ||||
| 	<string>BAF52ED4-6A5B-4260-B5BC-93D2012200C8</string> | ||||
| </dict> | ||||
| </plist> | ||||
| @@ -1,16 +0,0 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | ||||
| <plist version="1.0"> | ||||
| <dict> | ||||
| 	<key>content</key> | ||||
| 	<string>(${1:Class}) => $0</string> | ||||
| 	<key>name</key> | ||||
| 	<string>Type Constraint</string> | ||||
| 	<key>scope</key> | ||||
| 	<string>source.haskell meta.function.type</string> | ||||
| 	<key>tabTrigger</key> | ||||
| 	<string>=</string> | ||||
| 	<key>uuid</key> | ||||
| 	<string>1D72833B-ED9F-4A5E-9B72-F77E4FD09CE9</string> | ||||
| </dict> | ||||
| </plist> | ||||
| @@ -1,16 +0,0 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | ||||
| <plist version="1.0"> | ||||
| <dict> | ||||
| 	<key>content</key> | ||||
| 	<string>${1:Type} -> ${0:Type}</string> | ||||
| 	<key>name</key> | ||||
| 	<string>Type Sequence</string> | ||||
| 	<key>scope</key> | ||||
| 	<string>source.haskell meta.function.type</string> | ||||
| 	<key>tabTrigger</key> | ||||
| 	<string>-</string> | ||||
| 	<key>uuid</key> | ||||
| 	<string>17FC3207-9DC4-47F8-A9B3-B38FE5F84158</string> | ||||
| </dict> | ||||
| </plist> | ||||
| @@ -1,16 +0,0 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | ||||
| <plist version="1.0"> | ||||
| <dict> | ||||
| 	<key>content</key> | ||||
| 	<string>${1:name} :: ${0:Type}</string> | ||||
| 	<key>name</key> | ||||
| 	<string>Type Signature</string> | ||||
| 	<key>scope</key> | ||||
| 	<string>source.haskell</string> | ||||
| 	<key>tabTrigger</key> | ||||
| 	<string>::</string> | ||||
| 	<key>uuid</key> | ||||
| 	<string>78719987-0091-407A-B5F1-68456A67130D</string> | ||||
| </dict> | ||||
| </plist> | ||||
| @@ -1,18 +0,0 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | ||||
| <plist version="1.0"> | ||||
| <dict> | ||||
| 	<key>content</key> | ||||
| 	<string>case ${1:expression} of | ||||
| 	${2:pattern} -> ${3:expression} | ||||
| 	${4:otherwise} -> ${5:expression}</string> | ||||
| 	<key>name</key> | ||||
| 	<string>case … of …</string> | ||||
| 	<key>scope</key> | ||||
| 	<string>source.haskell</string> | ||||
| 	<key>tabTrigger</key> | ||||
| 	<string>case</string> | ||||
| 	<key>uuid</key> | ||||
| 	<string>DD1D7C05-BC60-4E62-BC8C-9230A32C2533</string> | ||||
| </dict> | ||||
| </plist> | ||||
| @@ -1,17 +0,0 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | ||||
| <plist version="1.0"> | ||||
| <dict> | ||||
| 	<key>content</key> | ||||
| 	<string>class ${1:Class} where | ||||
| 	${0:definition}</string> | ||||
| 	<key>name</key> | ||||
| 	<string>class …</string> | ||||
| 	<key>scope</key> | ||||
| 	<string>source.haskell</string> | ||||
| 	<key>tabTrigger</key> | ||||
| 	<string>cla</string> | ||||
| 	<key>uuid</key> | ||||
| 	<string>23F6173A-6390-46FF-865C-F59AB70E360A</string> | ||||
| </dict> | ||||
| </plist> | ||||
| @@ -1,16 +0,0 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | ||||
| <plist version="1.0"> | ||||
| <dict> | ||||
| 	<key>content</key> | ||||
| 	<string>data ${1:Type} = ${0:Other}</string> | ||||
| 	<key>name</key> | ||||
| 	<string>data …</string> | ||||
| 	<key>scope</key> | ||||
| 	<string>source.haskell</string> | ||||
| 	<key>tabTrigger</key> | ||||
| 	<string>dat</string> | ||||
| 	<key>uuid</key> | ||||
| 	<string>4C5EC5BB-6AE1-4825-AB50-1CF4741285E9</string> | ||||
| </dict> | ||||
| </plist> | ||||
| @@ -1,16 +0,0 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | ||||
| <plist version="1.0"> | ||||
| <dict> | ||||
| 	<key>content</key> | ||||
| 	<string>deriving (${0:Class})</string> | ||||
| 	<key>name</key> | ||||
| 	<string>deriving …</string> | ||||
| 	<key>scope</key> | ||||
| 	<string>source.haskell meta.type</string> | ||||
| 	<key>tabTrigger</key> | ||||
| 	<string>der</string> | ||||
| 	<key>uuid</key> | ||||
| 	<string>3FA57615-871F-4465-B35D-781B2EA9F5FC</string> | ||||
| </dict> | ||||
| </plist> | ||||
| @@ -1,17 +0,0 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | ||||
| <plist version="1.0"> | ||||
| <dict> | ||||
| 	<key>content</key> | ||||
| 	<string>do | ||||
| 	${1:return ${0:expression}}</string> | ||||
| 	<key>name</key> | ||||
| 	<string>do …</string> | ||||
| 	<key>scope</key> | ||||
| 	<string>source.haskell</string> | ||||
| 	<key>tabTrigger</key> | ||||
| 	<string>do</string> | ||||
| 	<key>uuid</key> | ||||
| 	<string>397D02C1-A10B-4A83-8C05-6EB71E50D4CF</string> | ||||
| </dict> | ||||
| </plist> | ||||
| @@ -1,18 +0,0 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | ||||
| <plist version="1.0"> | ||||
| <dict> | ||||
| 	<key>content</key> | ||||
| 	<string>if ${1:condition} | ||||
| 	then ${2:expression} | ||||
| 	else ${3:expression}</string> | ||||
| 	<key>name</key> | ||||
| 	<string>if … then … else …</string> | ||||
| 	<key>scope</key> | ||||
| 	<string>source.haskell</string> | ||||
| 	<key>tabTrigger</key> | ||||
| 	<string>if</string> | ||||
| 	<key>uuid</key> | ||||
| 	<string>5F2050D1-1347-40CE-854E-24B2BF389849</string> | ||||
| </dict> | ||||
| </plist> | ||||
| @@ -1,16 +0,0 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | ||||
| <plist version="1.0"> | ||||
| <dict> | ||||
| 	<key>content</key> | ||||
| 	<string>import ${1:Module}${2/.+/ hiding (/}${2:function}${2/.+/)/}$0</string> | ||||
| 	<key>name</key> | ||||
| 	<string>import … hiding …</string> | ||||
| 	<key>scope</key> | ||||
| 	<string>source.haskell</string> | ||||
| 	<key>tabTrigger</key> | ||||
| 	<string>imph</string> | ||||
| 	<key>uuid</key> | ||||
| 	<string>1BA6898C-E8C4-44C9-98F4-4823608FEFD1</string> | ||||
| </dict> | ||||
| </plist> | ||||
| @@ -1,16 +0,0 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | ||||
| <plist version="1.0"> | ||||
| <dict> | ||||
| 	<key>content</key> | ||||
| 	<string>import ${1:Module}${2/.+/ (/}${2:function}${2/.+/)/}$0</string> | ||||
| 	<key>name</key> | ||||
| 	<string>import …</string> | ||||
| 	<key>scope</key> | ||||
| 	<string>source.haskell</string> | ||||
| 	<key>tabTrigger</key> | ||||
| 	<string>imp</string> | ||||
| 	<key>uuid</key> | ||||
| 	<string>85150C9B-A5F1-450A-BEBF-119091146957</string> | ||||
| </dict> | ||||
| </plist> | ||||
| @@ -1,16 +0,0 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | ||||
| <plist version="1.0"> | ||||
| <dict> | ||||
| 	<key>content</key> | ||||
| 	<string>import qualified ${1:Module}${2/.+/ as /}${2:Mod}${3/.+/ (/}${3:function}${3/.+/)/}$0</string> | ||||
| 	<key>name</key> | ||||
| 	<string>import qualified …</string> | ||||
| 	<key>scope</key> | ||||
| 	<string>source.haskell</string> | ||||
| 	<key>tabTrigger</key> | ||||
| 	<string>impq</string> | ||||
| 	<key>uuid</key> | ||||
| 	<string>32BC2D63-AF02-4DBA-8A75-6A74E334FE0C</string> | ||||
| </dict> | ||||
| </plist> | ||||
| @@ -1,17 +0,0 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | ||||
| <plist version="1.0"> | ||||
| <dict> | ||||
| 	<key>content</key> | ||||
| 	<string>instance ${1:Class} ${2:Type} where | ||||
| 	${0:definition}</string> | ||||
| 	<key>name</key> | ||||
| 	<string>instance …</string> | ||||
| 	<key>scope</key> | ||||
| 	<string>source.haskell</string> | ||||
| 	<key>tabTrigger</key> | ||||
| 	<string>ins</string> | ||||
| 	<key>uuid</key> | ||||
| 	<string>26F8FAFE-4438-4D3C-A453-AAB72FD0F719</string> | ||||
| </dict> | ||||
| </plist> | ||||
| @@ -1,18 +0,0 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | ||||
| <plist version="1.0"> | ||||
| <dict> | ||||
| 	<key>content</key> | ||||
| 	<string>let | ||||
| 	${1:name} = ${2:expression} | ||||
| 	in ${0:expression}</string> | ||||
| 	<key>name</key> | ||||
| 	<string>let …</string> | ||||
| 	<key>scope</key> | ||||
| 	<string>source.haskell</string> | ||||
| 	<key>tabTrigger</key> | ||||
| 	<string>let</string> | ||||
| 	<key>uuid</key> | ||||
| 	<string>88C8A6FB-B06D-4386-BA33-51E28F64AD88</string> | ||||
| </dict> | ||||
| </plist> | ||||
| @@ -1,16 +0,0 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | ||||
| <plist version="1.0"> | ||||
| <dict> | ||||
| 	<key>content</key> | ||||
| 	<string>newtype ${1:Type} = ${0:Other}</string> | ||||
| 	<key>name</key> | ||||
| 	<string>newtype …</string> | ||||
| 	<key>scope</key> | ||||
| 	<string>source.haskell</string> | ||||
| 	<key>tabTrigger</key> | ||||
| 	<string>new</string> | ||||
| 	<key>uuid</key> | ||||
| 	<string>EFCBAB59-D574-454D-A05A-8928CF81947F</string> | ||||
| </dict> | ||||
| </plist> | ||||
| @@ -1,16 +0,0 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | ||||
| <plist version="1.0"> | ||||
| <dict> | ||||
| 	<key>content</key> | ||||
| 	<string>type ${1:Type} = ${0:Other}</string> | ||||
| 	<key>name</key> | ||||
| 	<string>type …</string> | ||||
| 	<key>scope</key> | ||||
| 	<string>source.haskell</string> | ||||
| 	<key>tabTrigger</key> | ||||
| 	<string>typ</string> | ||||
| 	<key>uuid</key> | ||||
| 	<string>3C25C0C7-D764-4BF8-9BFF-AE6954AF106D</string> | ||||
| </dict> | ||||
| </plist> | ||||
| @@ -1,17 +0,0 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | ||||
| <plist version="1.0"> | ||||
| <dict> | ||||
| 	<key>content</key> | ||||
| 	<string>where | ||||
| 	${0:definitions}</string> | ||||
| 	<key>name</key> | ||||
| 	<string>where …</string> | ||||
| 	<key>scope</key> | ||||
| 	<string>source.haskell</string> | ||||
| 	<key>tabTrigger</key> | ||||
| 	<string>where</string> | ||||
| 	<key>uuid</key> | ||||
| 	<string>A6FD9AB4-8E7E-47A8-B17D-D82F47A0C495</string> | ||||
| </dict> | ||||
| </plist> | ||||
| @@ -1,222 +0,0 @@ | ||||
| #!/usr/bin/env ruby18 -w | ||||
|  | ||||
| word = ARGV.first | ||||
|  | ||||
| prelude = ' | ||||
| (!!)             :: [a] -> Int -> a                                   ||||| [0,1,2] !! 1 = 1 | ||||
| ($)              :: (a -> b) -> a -> b                                ||||| f x $ g y = f x (g y) | ||||
| ($!)             :: (a -> b) -> (a -> b)                              |||||  | ||||
| (&&)             :: Bool -> Bool -> Bool                              ||||| Boolean \'and\' | ||||
| (||)             :: Bool -> Bool -> Bool                              ||||| Boolean \'or\' | ||||
| (*)              :: Num a => a -> a -> a                              ||||| Multiplication | ||||
| (**)             :: Floating a => a -> a -> a                         ||||| Exponentiation | ||||
| (+)              :: Num a => a -> a -> a                              ||||| Addition | ||||
| (++)             :: [a] -> [a] -> [a]                                 ||||| Concatonation: "abc" ++ "def" = "abcdef" | ||||
| (-)              :: Num a => a -> a -> a                              ||||| Subtraction | ||||
| (.)              :: (b -> c) -> (a -> b) -> a -> c                    ||||| Function composition | ||||
| (/)              :: Fractional a => a -> a -> a                       ||||| Division | ||||
| (/=)             :: Eq a => a -> a -> Bool                            ||||| not equal | ||||
| (<)              :: Ord a => a -> a -> Bool                           ||||| Less Than | ||||
| (<=)             :: Ord a => a -> a -> Bool                           ||||| Less Than or Equal To | ||||
| (==)             :: Eq a => a -> a -> Bool                            ||||| Equality | ||||
| (=<<)            :: Monad a => (a -> m b) -> m a -> m b               ||||| Monadic binding | ||||
| (>)              :: Ord a => a -> a -> Bool                           ||||| Greater Than | ||||
| (>=)             :: Ord a => a -> a -> Bool                           ||||| Greater Than or Equal To | ||||
| (>>)             :: Monad m => m a -> m b -> m b                      ||||| Monadic binding | ||||
| (>>=)            :: Monad m => m a -> (a -> m b) -> m b               ||||| Monadic binding | ||||
| (^)              :: (Num a, Integral b) => a -> b -> a                ||||| Exponentiation | ||||
| (^^)             :: (Fractional a, Integral b) => a -> b -> a         ||||| negative exponent allowed | ||||
| abs              :: Num a => a -> a                                   ||||| Absolute Value | ||||
| acos             :: Floating a => a -> a                              ||||| Arccosine | ||||
| acosh            :: Floating a => a -> a                              ||||| Hyperbolic Arccosine | ||||
| all              :: (a -> Bool) -> [a] -> Bool                        ||||| all (/= \'a\') "cba" = False | ||||
| and              :: [Bool] -> Bool                                    ||||| and [True, True, True] = True | ||||
| any              :: (a -> Bool) -> [a] -> Bool                        ||||| any (== \'c\') "abc" = True | ||||
| appendFile       :: FilePath -> String -> IO ()                       ||||| Appends String to FilePath | ||||
| applyM           :: Monad m => (a -> m b) -> m a -> m b               |||||  | ||||
| asTypeOf         :: a -> a -> a                                       ||||| Sort of a type cast | ||||
| asin             :: Floating a => a -> a                              ||||| Arcsine | ||||
| asinh            :: Floating a => a -> a                              ||||| Hyperbolic Arcsine | ||||
| atan             :: Floating a => a -> a                              ||||| Arctangent | ||||
| atan2            :: RealFrac a => a -> a                              ||||| ArcTangent | ||||
| atanh            :: Floating a => a -> a                              ||||| Hyperbolic Arctangent | ||||
| break            :: (a -> Bool) -> [a] -> ([a], [a])                  ||||| break (<2) [1,2,3] = ([1],[2,3]) | ||||
| catch            :: IO a -> (IOError -> IO a) -> IO a                 ||||| | ||||
| ceiling          :: (RealFrac a, Integral b) => a -> b                ||||| | ||||
| compare          :: Ord a => a -> a -> Ordering                       ||||| | ||||
| concat           :: MonadPlus m => [m a] -> m a                       ||||| concat ["a","bc","d"] = "abcd" | ||||
| concatMap        :: (a -> [b]) -> [a] -> [b]                          ||||| | ||||
| const            :: a -> b -> a                                       ||||| | ||||
| cos              :: Floating a => a -> a                              ||||| | ||||
| cosh             :: Floating a => a -> a                              ||||| | ||||
| curry            :: ((a, b) -> c) -> a -> b -> c                      ||||| | ||||
| cycle            :: [a] -> [a]                                        ||||| cycle "abc" = "abcabcabc... | ||||
| decodeFloat      :: RealFloat a => a -> (Integer, Int)                ||||| | ||||
| div              :: Integral a => a -> a -> a                         ||||| | ||||
| divMod           :: Integral a => a -> a -> (a, a)                    ||||| | ||||
| drop             :: Int -> [a] -> [a]                                 ||||| drop 2 "abcd" = "cd" | ||||
| dropWhile        :: (a -> Bool) -> [a] -> [a]                         ||||| dropWhile (>3) [5,3,5] = [3,5] | ||||
| elem             :: Eq a => a -> [a] -> Bool                          ||||| \'a\' \'elem\' "abc" = True | ||||
| encodeFloat      :: RealFloat a => Integer -> Int -> a                ||||| | ||||
| enumFrom         :: Enum a => a -> [a]                                ||||| [n..] | ||||
| enumFromThen     :: Enum a => a -> a -> [a]                           ||||| [m,n..] | ||||
| enumFromThenTo   :: Enum a => a -> a -> a -> [a]                      ||||| [m,n..o] | ||||
| enumFromTo       :: Enum a => a -> a -> [a]                           ||||| [m..n] | ||||
| error            :: String -> a                                       |||||  | ||||
| even             :: Integral a => a -> Bool                           ||||| | ||||
| exp              :: Floating a => a -> a                              ||||| | ||||
| exponent         :: RealFloat a => a -> Int                           ||||| | ||||
| fail             :: Monad m => String -> m a                          ||||| | ||||
| filter           :: (a -> Bool) -> [a] -> [a]                         ||||| | ||||
| flip             :: (a -> b -> c) -> (b -> a -> c)                    ||||| | ||||
| floatDigits      :: RealFloat a => a -> Int                           ||||| | ||||
| floatRadix       :: RealFloat a => a -> Integer                       ||||| | ||||
| floatRange       :: RealFloat a => a -> (Int, Int)                    ||||| | ||||
| floor            :: (RealFrac a, Integral b) => a -> b                ||||| | ||||
| fmap             :: Functor f => (a -> b) -> f a -> f b               ||||| | ||||
| foldl            :: (a -> b -> a) -> a -> [b] -> a                    ||||| foldl (+) 0 [a,b,c] = ((0+a)+b)+c | ||||
| foldl1           :: (a -> a -> a) -> [a] -> a                         ||||| foldl1 (+) [a,b,c] = (a+b)+c | ||||
| foldr            :: (a -> b -> b) -> b -> [a] -> b                    ||||| foldr (+) 0 [a,b,c] = a+(b+(c+0)) | ||||
| foldr1           :: (a -> a -> a) -> [a] -> a                         ||||| foldr1 (+) [a,b,c] = a+(b+c) | ||||
| fromEnum         :: Enum a => a -> Int                                ||||| | ||||
| fromInteger      :: Num a => Integer -> a                             ||||| | ||||
| fromIntegral     :: (Integral a, Num b) => a -> b                     ||||| | ||||
| fromRational     :: Fractional a => Rational -> a                     ||||| | ||||
| fst              :: (a, b) -> a                                       ||||| | ||||
| gcd              :: (Integral a) => a -> a -> a                       ||||| | ||||
| getChar          :: IO Char                                           ||||| eof generates an IOError | ||||
| getContents      :: IO String                                         ||||| | ||||
| getLine          :: IO String                                         ||||| eof generates an IOError | ||||
| head             :: [a] -> a                                          ||||| | ||||
| id               :: a -> a                                            ||||| | ||||
| init             :: [a] -> [a]                                        ||||| init "abcd" = "abc" | ||||
| interact         :: (String -> String) -> IO ()                       ||||| | ||||
| ioError          :: IOError -> IO a                                   ||||| | ||||
| isDenormalized   :: RealFloat a => a -> Bool                          ||||| | ||||
| isIEEE           :: RealFloat a => a -> Bool                          ||||| | ||||
| isInfinite       :: RealFloat a => a -> Bool                          ||||| | ||||
| isNaN            :: RealFloat a => a -> Bool                          ||||| | ||||
| isNegativeZero   :: RealFloat a => a -> Bool                          ||||| | ||||
| iterate          :: (a -> a) -> a -> [a]                              ||||| iterate (++ " ") "" = ["", " ", "  ",...] | ||||
| last             :: [a] -> a                                          ||||| last "abcde" = "e" | ||||
| lcm              :: Integral a => a -> a -> a                         ||||| | ||||
| length           :: [a] -> Int                                        ||||| length "Abc" = 3 | ||||
| lex              :: ReadS String                                      ||||| lex "abc def" = [("abc"," def")] | ||||
| lines            :: String -> [String]                                ||||| | ||||
| log              :: Floating a => a -> a                              ||||| | ||||
| logBase          :: Floating a => a -> a -> a                         ||||| | ||||
| lookup           :: Eq a => a -> [(a, b)] -> Maybe b                  ||||| | ||||
| map              :: (a -> b) -> [a] -> [b]                            ||||| | ||||
| mapM             :: Monad m => (a -> m b) -> [a] -> m [b]             ||||| | ||||
| mapM_            :: Monad m => (a -> m b) -> [a] -> m ()              ||||| | ||||
| max              :: Ord a => a -> a -> a                              ||||| | ||||
| maxBound         :: Bounded a => a                                    ||||| | ||||
| maximum          :: Ord a => [a] -> a                                 ||||| | ||||
| maybe            :: b -> (a -> b) -> Maybe a -> b                     ||||| maybe 0 (+1) (Just 1) = 2 | ||||
| min              :: Ord a => a -> a -> a                              ||||| | ||||
| minBound         :: Bounded a => a                                    ||||| | ||||
| minimum          :: Ord a => [a] -> a                                 ||||| | ||||
| mod              :: Integral a => a -> a -> a                         ||||| | ||||
| negate           :: Num a => a -> a                                   ||||| | ||||
| not              :: Bool -> Bool                                      ||||| | ||||
| notElem          :: Eq a => a -> [a] -> Bool                          ||||| | ||||
| null             :: [a] -> Bool                                       ||||| | ||||
| odd              :: Integral a => a -> Bool                           ||||| | ||||
| or               :: [Bool] -> Bool                                    ||||| | ||||
| otherwise        :: Bool                                              ||||| | ||||
| pi               :: Floating a => a                                   ||||| | ||||
| pred             :: Enum a => a -> a                                  ||||| pred True = False | ||||
| print            :: Show a => IO ()                                   ||||| adds a newline | ||||
| product          :: Num a => [a] -> a                                 ||||| | ||||
| properFraction   :: (RealFrac a, Integral b) => a -> (b, a)           ||||| | ||||
| putChar          :: Char -> IO ()                                     ||||| | ||||
| putStr           :: String -> IO ()                                   ||||| | ||||
| putStrLn         :: String -> IO ()                                   ||||| adds a newline | ||||
| quot             :: Integral a => a -> a -> a                         ||||| | ||||
| quotRem          :: Integral a => a -> a -> (a, a)                    ||||| | ||||
| read             :: Read a => String -> a                             ||||| | ||||
| readFile         :: FilePath -> IO String                             ||||| | ||||
| readIO           :: Read a => String -> IO a                          ||||| fails with IOError | ||||
| readList         :: Read a => ReadS [a]                               ||||| | ||||
| readLn           :: Read a => IO a                                    ||||| | ||||
| readParen        :: Bool -> ReadS a -> ReadS a                        ||||| | ||||
| reads            :: Read a => ReadS a                                 ||||| reads "1 2" :: [(Int,String)] = [(1," 2")] | ||||
| readsPrec        :: Read a => Int -> ReadS a                          ||||| | ||||
| realToFrac       :: (Real a, Fractional b) => a -> b                  ||||| | ||||
| recip            :: Fractional a => a -> a                            ||||| | ||||
| rem              :: Integral a => a -> a -> a                         ||||| | ||||
| repeat           :: a -> [a]                                          ||||| repeat \'a\' = "aaaaaaaaa..." | ||||
| replicate        :: Int -> a -> [a]                                   ||||| replicate 4 \'a\' = "aaaa" | ||||
| return           :: Monad m => a -> m a                               ||||| | ||||
| reverse          :: [a] -> [a]                                        ||||| reverse "abc" = "cba" | ||||
| round            :: (RealFrac a, Integral b) => a -> b                ||||| | ||||
| scaleFloat       :: RealFloat a => Int -> a -> a                      ||||| | ||||
| scanl            :: (a -> b -> a) -> a -> [b] -> [a]                  ||||| scanl (+) 0 [1,2,3] = [0,1,3,6] | ||||
| scanl1           :: (a -> a -> a) -> [a] -> [a]                       ||||| scanl1 (+) [1,2,3] = [1,3,6] | ||||
| scanr            :: (a -> b -> b) -> b -> [a] -> [b]                  ||||| scanr (+) 0 [1,2,3] = [6,5,3,0] | ||||
| scanr1           :: (a -> a -> a) -> [a] -> [a]                       ||||| scanr1 (+) [1,2,3] = [6,5,3] | ||||
| seq              :: a -> b -> b                                       ||||| | ||||
| sequence         :: Monad m => [m a] -> m [a]                         ||||| | ||||
| sequence_        :: Monad m => [m a] -> m ()                          ||||| do operations in sequence | ||||
| show             :: Show a => a -> String                             |||||  | ||||
| showChar         :: Char -> ShowS                                     ||||| | ||||
| showList         :: Show a => [a] -> ShowS                            ||||| | ||||
| showParen        :: Bool -> ShowS -> ShowS                            ||||| | ||||
| showString       :: String -> ShowS                                   ||||| | ||||
| shows            :: Show a => a -> ShowS                              |||||  | ||||
| showsPrec        :: Show a => Int -> a -> ShowS                       |||||  | ||||
| significand      :: RealFloat a => a -> a                             ||||| | ||||
| signum           :: Num a => a -> a                                   ||||| | ||||
| sin              :: Floating a => a -> a                              ||||| | ||||
| sinh             :: Floating a => a -> a                              ||||| | ||||
| snd              :: (a, b) -> b                                       ||||| | ||||
| span             :: (a -> Bool) -> [a] -> ([a], [a])                  ||||| span isAlpha "ab cd" = ("ab"," cd") | ||||
| splitAt          :: Int -> [a] -> ([a], [a])                          ||||| splitAt 2 "abcdef" = ("ab","cdef") | ||||
| sqrt             :: Floating a => a -> a                              ||||| | ||||
| subtract         :: Num a => a -> a -> a                              ||||| | ||||
| succ             :: Enum a => a -> a                                  ||||| succ False = True | ||||
| sum              :: Num a => [a] -> a                                 ||||| sum [1,2,3] = 6 | ||||
| tail             :: [a] -> [a]                                        ||||| tail "abc" = "bc" | ||||
| take             :: Int -> [a] -> [a]                                 ||||| take 3 "abcde" = "abc" | ||||
| takeWhile        :: (a -> Bool) -> [a] -> [a]                         ||||| takeWhile (> 2) [3,2,1] = [3] | ||||
| tan              :: Floating a => a -> a                              ||||| | ||||
| tanh             :: Floating a => a -> a                              ||||| | ||||
| toEnum           :: Enum a => Int -> a                                ||||| toEnum 0 :: Bool = False | ||||
| toInteger        :: Integral a => a -> Integer                        ||||| | ||||
| toRational       :: Real a => a -> Rational                           ||||| | ||||
| truncate         :: (RealFrac a, Integral b) => a -> b                ||||| | ||||
| uncurry          :: (a -> b -> c) -> ((a, b) -> c)                    ||||| | ||||
| undefined        :: a                                                 |||||  | ||||
| unlines          :: [String] -> String                                ||||| | ||||
| until            :: (a -> Bool) -> (a -> a) -> a -> a                 ||||| until (> 3) (+ 2) 0 = 4 | ||||
| unwords          :: [String] -> String                                ||||| | ||||
| unzip            :: [(a, b)] -> ([a], [b])                            ||||| unzip [(\'a\',\'b\'),(\'c\',\'d\')] = ("ac",bd") | ||||
| unzip3           :: [(a, b, c)] -> ([a], [b], [c])                    ||||| | ||||
| userError        :: String  -> IOError                                ||||| | ||||
| words            :: String -> [String]                                ||||| words "ab d as+3" = ["ab","d","as+3"] | ||||
| writeFile        :: FilePath -> String -> IO ()                       ||||| | ||||
| zip              :: [a] -> [b] -> [(a, b)]                            ||||| zip "abc" "de" = [(\'a\',\'d\'), (\'b\',e\')] | ||||
| zip3             :: [a] -> [b] -> [c] -> [(a, b, c)]                  ||||| | ||||
| zipWith          :: (a -> b -> c) -> [a] -> [b] -> [c]                ||||| zipWith (+) [1,2] [3,4] = [4,6] | ||||
| zipWith3         :: (a -> b -> c -> d) -> [a] -> [b] -> [c] -> [d]    |||||' | ||||
|  | ||||
| lookup = prelude.strip.split("\n").inject(Hash.new) { |h,l|    | ||||
|   name, desc = l.split("::") | ||||
|   h[name.strip] = desc.split("|||||").map {|a| a.strip} | ||||
|   h | ||||
| } | ||||
|  | ||||
| if lookup[word] | ||||
|   puts lookup[word] | ||||
| else | ||||
|   STDIN.each do |line| | ||||
|     name, desc = line.strip.split("::") | ||||
|     if name and desc | ||||
|       if name.split(",").map{|s| s.strip}.include?(word) | ||||
|         puts desc.strip | ||||
|         exit | ||||
|       end | ||||
|     end | ||||
|   end | ||||
|   puts "☿ It is a mystery ☿" | ||||
| end | ||||
| @@ -1,711 +0,0 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | ||||
| <plist version="1.0"> | ||||
| <dict> | ||||
| 	<key>fileTypes</key> | ||||
| 	<array> | ||||
| 		<string>hs</string> | ||||
| 	</array> | ||||
| 	<key>keyEquivalent</key> | ||||
| 	<string>^~H</string> | ||||
| 	<key>name</key> | ||||
| 	<string>Haskell</string> | ||||
| 	<key>patterns</key> | ||||
| 	<array> | ||||
| 		<dict> | ||||
| 			<key>captures</key> | ||||
| 			<dict> | ||||
| 				<key>1</key> | ||||
| 				<dict> | ||||
| 					<key>name</key> | ||||
| 					<string>punctuation.definition.entity.haskell</string> | ||||
| 				</dict> | ||||
| 				<key>2</key> | ||||
| 				<dict> | ||||
| 					<key>name</key> | ||||
| 					<string>punctuation.definition.entity.haskell</string> | ||||
| 				</dict> | ||||
| 			</dict> | ||||
| 			<key>comment</key> | ||||
| 			<string>In case this regex seems unusual for an infix operator, note that Haskell allows any ordinary function application (elem 4 [1..10]) to be rewritten as an infix expression (4 `elem` [1..10]).</string> | ||||
| 			<key>match</key> | ||||
| 			<string>(`)[\p{Ll}_][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*(`)</string> | ||||
| 			<key>name</key> | ||||
| 			<string>keyword.operator.function.infix.haskell</string> | ||||
| 		</dict> | ||||
| 		<dict> | ||||
| 			<key>match</key> | ||||
| 			<string>\(\)</string> | ||||
| 			<key>name</key> | ||||
| 			<string>constant.language.unit.haskell</string> | ||||
| 		</dict> | ||||
| 		<dict> | ||||
| 			<key>match</key> | ||||
| 			<string>\[\]</string> | ||||
| 			<key>name</key> | ||||
| 			<string>constant.language.empty-list.haskell</string> | ||||
| 		</dict> | ||||
| 		<dict> | ||||
| 			<key>begin</key> | ||||
| 			<string>\b(module)\b</string> | ||||
| 			<key>beginCaptures</key> | ||||
| 			<dict> | ||||
| 				<key>1</key> | ||||
| 				<dict> | ||||
| 					<key>name</key> | ||||
| 					<string>keyword.other.haskell</string> | ||||
| 				</dict> | ||||
| 			</dict> | ||||
| 			<key>end</key> | ||||
| 			<string>\b(where)\b</string> | ||||
| 			<key>endCaptures</key> | ||||
| 			<dict> | ||||
| 				<key>1</key> | ||||
| 				<dict> | ||||
| 					<key>name</key> | ||||
| 					<string>keyword.other.haskell</string> | ||||
| 				</dict> | ||||
| 			</dict> | ||||
| 			<key>name</key> | ||||
| 			<string>meta.declaration.module.haskell</string> | ||||
| 			<key>patterns</key> | ||||
| 			<array> | ||||
| 				<dict> | ||||
| 					<key>include</key> | ||||
| 					<string>#module_name</string> | ||||
| 				</dict> | ||||
| 				<dict> | ||||
| 					<key>include</key> | ||||
| 					<string>#module_exports</string> | ||||
| 				</dict> | ||||
| 				<dict> | ||||
| 					<key>match</key> | ||||
| 					<string>[a-z]+</string> | ||||
| 					<key>name</key> | ||||
| 					<string>invalid</string> | ||||
| 				</dict> | ||||
| 			</array> | ||||
| 		</dict> | ||||
| 		<dict> | ||||
| 			<key>begin</key> | ||||
| 			<string>\b(class)\b</string> | ||||
| 			<key>beginCaptures</key> | ||||
| 			<dict> | ||||
| 				<key>1</key> | ||||
| 				<dict> | ||||
| 					<key>name</key> | ||||
| 					<string>keyword.other.haskell</string> | ||||
| 				</dict> | ||||
| 			</dict> | ||||
| 			<key>end</key> | ||||
| 			<string>\b(where)\b</string> | ||||
| 			<key>endCaptures</key> | ||||
| 			<dict> | ||||
| 				<key>1</key> | ||||
| 				<dict> | ||||
| 					<key>name</key> | ||||
| 					<string>keyword.other.haskell</string> | ||||
| 				</dict> | ||||
| 			</dict> | ||||
| 			<key>name</key> | ||||
| 			<string>meta.declaration.class.haskell</string> | ||||
| 			<key>patterns</key> | ||||
| 			<array> | ||||
| 				<dict> | ||||
| 					<key>match</key> | ||||
| 					<string>\b(Monad|Functor|Eq|Ord|Read|Show|Num|(Frac|Ra)tional|Enum|Bounded|Real(Frac|Float)?|Integral|Floating)\b</string> | ||||
| 					<key>name</key> | ||||
| 					<string>support.class.prelude.haskell</string> | ||||
| 				</dict> | ||||
| 				<dict> | ||||
| 					<key>match</key> | ||||
| 					<string>[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*</string> | ||||
| 					<key>name</key> | ||||
| 					<string>entity.other.inherited-class.haskell</string> | ||||
| 				</dict> | ||||
| 				<dict> | ||||
| 					<key>match</key> | ||||
| 					<string>\b[\p{Ll}_][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*</string> | ||||
| 					<key>name</key> | ||||
| 					<string>variable.other.generic-type.haskell</string> | ||||
| 				</dict> | ||||
| 			</array> | ||||
| 		</dict> | ||||
| 		<dict> | ||||
| 			<key>begin</key> | ||||
| 			<string>\b(instance)\b</string> | ||||
| 			<key>beginCaptures</key> | ||||
| 			<dict> | ||||
| 				<key>1</key> | ||||
| 				<dict> | ||||
| 					<key>name</key> | ||||
| 					<string>keyword.other.haskell</string> | ||||
| 				</dict> | ||||
| 			</dict> | ||||
| 			<key>end</key> | ||||
| 			<string>\b(where)\b|$</string> | ||||
| 			<key>endCaptures</key> | ||||
| 			<dict> | ||||
| 				<key>1</key> | ||||
| 				<dict> | ||||
| 					<key>name</key> | ||||
| 					<string>keyword.other.haskell</string> | ||||
| 				</dict> | ||||
| 			</dict> | ||||
| 			<key>name</key> | ||||
| 			<string>meta.declaration.instance.haskell</string> | ||||
| 			<key>patterns</key> | ||||
| 			<array> | ||||
| 				<dict> | ||||
| 					<key>include</key> | ||||
| 					<string>#type_signature</string> | ||||
| 				</dict> | ||||
| 			</array> | ||||
| 		</dict> | ||||
| 		<dict> | ||||
| 			<key>begin</key> | ||||
| 			<string>\b(import)\b</string> | ||||
| 			<key>beginCaptures</key> | ||||
| 			<dict> | ||||
| 				<key>1</key> | ||||
| 				<dict> | ||||
| 					<key>name</key> | ||||
| 					<string>keyword.other.haskell</string> | ||||
| 				</dict> | ||||
| 			</dict> | ||||
| 			<key>end</key> | ||||
| 			<string>($|;|(?=--))</string> | ||||
| 			<key>name</key> | ||||
| 			<string>meta.import.haskell</string> | ||||
| 			<key>patterns</key> | ||||
| 			<array> | ||||
| 				<dict> | ||||
| 					<key>match</key> | ||||
| 					<string>(qualified|as|hiding)</string> | ||||
| 					<key>name</key> | ||||
| 					<string>keyword.other.haskell</string> | ||||
| 				</dict> | ||||
| 				<dict> | ||||
| 					<key>include</key> | ||||
| 					<string>#module_name</string> | ||||
| 				</dict> | ||||
| 				<dict> | ||||
| 					<key>include</key> | ||||
| 					<string>#module_exports</string> | ||||
| 				</dict> | ||||
| 			</array> | ||||
| 		</dict> | ||||
| 		<dict> | ||||
| 			<key>begin</key> | ||||
| 			<string>(deriving)\s*\(</string> | ||||
| 			<key>beginCaptures</key> | ||||
| 			<dict> | ||||
| 				<key>1</key> | ||||
| 				<dict> | ||||
| 					<key>name</key> | ||||
| 					<string>keyword.other.haskell</string> | ||||
| 				</dict> | ||||
| 			</dict> | ||||
| 			<key>end</key> | ||||
| 			<string>\)</string> | ||||
| 			<key>name</key> | ||||
| 			<string>meta.deriving.haskell</string> | ||||
| 			<key>patterns</key> | ||||
| 			<array> | ||||
| 				<dict> | ||||
| 					<key>match</key> | ||||
| 					<string>\b[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*</string> | ||||
| 					<key>name</key> | ||||
| 					<string>entity.other.inherited-class.haskell</string> | ||||
| 				</dict> | ||||
| 			</array> | ||||
| 		</dict> | ||||
| 		<dict> | ||||
| 			<key>match</key> | ||||
| 			<string>\b(deriving|where|data|type|case|of|let|in|newtype|default)\b</string> | ||||
| 			<key>name</key> | ||||
| 			<string>keyword.other.haskell</string> | ||||
| 		</dict> | ||||
| 		<dict> | ||||
| 			<key>match</key> | ||||
| 			<string>\binfix[lr]?\b</string> | ||||
| 			<key>name</key> | ||||
| 			<string>keyword.operator.haskell</string> | ||||
| 		</dict> | ||||
| 		<dict> | ||||
| 			<key>match</key> | ||||
| 			<string>\b(do|if|then|else)\b</string> | ||||
| 			<key>name</key> | ||||
| 			<string>keyword.control.haskell</string> | ||||
| 		</dict> | ||||
| 		<dict> | ||||
| 			<key>comment</key> | ||||
| 			<string>Floats are always decimal</string> | ||||
| 			<key>match</key> | ||||
| 			<string>\b([0-9]+\.[0-9]+([eE][+-]?[0-9]+)?|[0-9]+[eE][+-]?[0-9]+)\b</string> | ||||
| 			<key>name</key> | ||||
| 			<string>constant.numeric.float.haskell</string> | ||||
| 		</dict> | ||||
| 		<dict> | ||||
| 			<key>match</key> | ||||
| 			<string>\b([0-9]+|0([xX][0-9a-fA-F]+|[oO][0-7]+))\b</string> | ||||
| 			<key>name</key> | ||||
| 			<string>constant.numeric.haskell</string> | ||||
| 		</dict> | ||||
| 		<dict> | ||||
| 			<key>captures</key> | ||||
| 			<dict> | ||||
| 				<key>1</key> | ||||
| 				<dict> | ||||
| 					<key>name</key> | ||||
| 					<string>punctuation.definition.preprocessor.c</string> | ||||
| 				</dict> | ||||
| 			</dict> | ||||
| 			<key>comment</key> | ||||
| 			<string>In addition to Haskell's "native" syntax, GHC permits the C preprocessor to be run on a source file.</string> | ||||
| 			<key>match</key> | ||||
| 			<string>^\s*(#)\s*\w+</string> | ||||
| 			<key>name</key> | ||||
| 			<string>meta.preprocessor.c</string> | ||||
| 		</dict> | ||||
| 		<dict> | ||||
| 			<key>include</key> | ||||
| 			<string>#pragma</string> | ||||
| 		</dict> | ||||
| 		<dict> | ||||
| 			<key>begin</key> | ||||
| 			<string>"</string> | ||||
| 			<key>beginCaptures</key> | ||||
| 			<dict> | ||||
| 				<key>0</key> | ||||
| 				<dict> | ||||
| 					<key>name</key> | ||||
| 					<string>punctuation.definition.string.begin.haskell</string> | ||||
| 				</dict> | ||||
| 			</dict> | ||||
| 			<key>end</key> | ||||
| 			<string>"</string> | ||||
| 			<key>endCaptures</key> | ||||
| 			<dict> | ||||
| 				<key>0</key> | ||||
| 				<dict> | ||||
| 					<key>name</key> | ||||
| 					<string>punctuation.definition.string.end.haskell</string> | ||||
| 				</dict> | ||||
| 			</dict> | ||||
| 			<key>name</key> | ||||
| 			<string>string.quoted.double.haskell</string> | ||||
| 			<key>patterns</key> | ||||
| 			<array> | ||||
| 				<dict> | ||||
| 					<key>match</key> | ||||
| 					<string>\\(NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|[abfnrtv\\\"'\&])</string> | ||||
| 					<key>name</key> | ||||
| 					<string>constant.character.escape.haskell</string> | ||||
| 				</dict> | ||||
| 				<dict> | ||||
| 					<key>match</key> | ||||
| 					<string>\\o[0-7]+|\\x[0-9A-Fa-f]+|\\[0-9]+</string> | ||||
| 					<key>name</key> | ||||
| 					<string>constant.character.escape.octal.haskell</string> | ||||
| 				</dict> | ||||
| 				<dict> | ||||
| 					<key>match</key> | ||||
| 					<string>\^[A-Z@\[\]\\\^_]</string> | ||||
| 					<key>name</key> | ||||
| 					<string>constant.character.escape.control.haskell</string> | ||||
| 				</dict> | ||||
| 				<dict> | ||||
| 					<key>begin</key> | ||||
| 					<string>\\\s</string> | ||||
| 					<key>beginCaptures</key> | ||||
| 					<dict> | ||||
| 						<key>0</key> | ||||
| 						<dict> | ||||
| 							<key>name</key> | ||||
| 							<string>constant.character.escape.begin.haskell</string> | ||||
| 						</dict> | ||||
| 					</dict> | ||||
| 					<key>end</key> | ||||
| 					<string>\\</string> | ||||
| 					<key>endCaptures</key> | ||||
| 					<dict> | ||||
| 						<key>0</key> | ||||
| 						<dict> | ||||
| 							<key>name</key> | ||||
| 							<string>constant.character.escape.end.haskell</string> | ||||
| 						</dict> | ||||
| 					</dict> | ||||
| 					<key>patterns</key> | ||||
| 					<array> | ||||
| 						<dict> | ||||
| 							<key>match</key> | ||||
| 							<string>\S+</string> | ||||
| 							<key>name</key> | ||||
| 							<string>invalid.illegal.character-not-allowed-here.haskell</string> | ||||
| 						</dict> | ||||
| 					</array> | ||||
| 				</dict> | ||||
| 			</array> | ||||
| 		</dict> | ||||
| 		<dict> | ||||
| 			<key>captures</key> | ||||
| 			<dict> | ||||
| 				<key>1</key> | ||||
| 				<dict> | ||||
| 					<key>name</key> | ||||
| 					<string>punctuation.definition.string.begin.haskell</string> | ||||
| 				</dict> | ||||
| 				<key>2</key> | ||||
| 				<dict> | ||||
| 					<key>name</key> | ||||
| 					<string>constant.character.escape.haskell</string> | ||||
| 				</dict> | ||||
| 				<key>3</key> | ||||
| 				<dict> | ||||
| 					<key>name</key> | ||||
| 					<string>constant.character.escape.octal.haskell</string> | ||||
| 				</dict> | ||||
| 				<key>4</key> | ||||
| 				<dict> | ||||
| 					<key>name</key> | ||||
| 					<string>constant.character.escape.hexadecimal.haskell</string> | ||||
| 				</dict> | ||||
| 				<key>5</key> | ||||
| 				<dict> | ||||
| 					<key>name</key> | ||||
| 					<string>constant.character.escape.control.haskell</string> | ||||
| 				</dict> | ||||
| 				<key>6</key> | ||||
| 				<dict> | ||||
| 					<key>name</key> | ||||
| 					<string>punctuation.definition.string.end.haskell</string> | ||||
| 				</dict> | ||||
| 			</dict> | ||||
| 			<key>match</key> | ||||
| 			<string>(?x) | ||||
| 			(') | ||||
| 			(?: | ||||
| 				[\ -\[\]-~]								# Basic Char | ||||
| 			  | (\\(?:NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE | ||||
| 					|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS | ||||
| 					|US|SP|DEL|[abfnrtv\\\"'\&]))		# Escapes | ||||
| 			  | (\\o[0-7]+)								# Octal Escapes | ||||
| 			  | (\\x[0-9A-Fa-f]+)						# Hexadecimal Escapes | ||||
| 			  | (\^[A-Z@\[\]\\\^_])						# Control Chars | ||||
| 			) | ||||
| 			(') | ||||
| 			</string> | ||||
| 			<key>name</key> | ||||
| 			<string>string.quoted.single.haskell</string> | ||||
| 		</dict> | ||||
| 		<dict> | ||||
| 			<key>begin</key> | ||||
| 			<string>^\s*(?<fn>(?:[\p{Ll}_][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*|\((?!--+\))((?![(),;\[\]`{}_"'])[\p{S}\p{P}])+\))(?:\s*,\s*\g<fn>)?)\s*(::)</string> | ||||
| 			<key>beginCaptures</key> | ||||
| 			<dict> | ||||
| 				<key>1</key> | ||||
| 				<dict> | ||||
| 					<key>patterns</key> | ||||
| 					<array> | ||||
| 						<dict> | ||||
| 							<key>match</key> | ||||
| 							<string>[\p{Ll}_][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*</string> | ||||
| 							<key>name</key> | ||||
| 							<string>entity.name.function.haskell</string> | ||||
| 						</dict> | ||||
| 						<dict> | ||||
| 							<key>include</key> | ||||
| 							<string>#infix_op</string> | ||||
| 						</dict> | ||||
| 					</array> | ||||
| 				</dict> | ||||
| 				<key>2</key> | ||||
| 				<dict> | ||||
| 					<key>name</key> | ||||
| 					<string>keyword.other.double-colon.haskell</string> | ||||
| 				</dict> | ||||
| 			</dict> | ||||
| 			<key>end</key> | ||||
| 			<string>$\n?</string> | ||||
| 			<key>name</key> | ||||
| 			<string>meta.function.type-declaration.haskell</string> | ||||
| 			<key>patterns</key> | ||||
| 			<array> | ||||
| 				<dict> | ||||
| 					<key>include</key> | ||||
| 					<string>#type_signature</string> | ||||
| 				</dict> | ||||
| 			</array> | ||||
| 		</dict> | ||||
| 		<dict> | ||||
| 			<key>match</key> | ||||
| 			<string>\b(Just|Nothing|Left|Right|True|False|LT|EQ|GT|\(\)|\[\])\b</string> | ||||
| 			<key>name</key> | ||||
| 			<string>support.constant.haskell</string> | ||||
| 		</dict> | ||||
| 		<dict> | ||||
| 			<key>match</key> | ||||
| 			<string>\b[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*</string> | ||||
| 			<key>name</key> | ||||
| 			<string>constant.other.haskell</string> | ||||
| 		</dict> | ||||
| 		<dict> | ||||
| 			<key>include</key> | ||||
| 			<string>#comments</string> | ||||
| 		</dict> | ||||
| 		<dict> | ||||
| 			<key>match</key> | ||||
| 			<string>\b(abs|acos|acosh|all|and|any|appendFile|applyM|asTypeOf|asin|asinh|atan|atan2|atanh|break|catch|ceiling|compare|concat|concatMap|const|cos|cosh|curry|cycle|decodeFloat|div|divMod|drop|dropWhile|elem|encodeFloat|enumFrom|enumFromThen|enumFromThenTo|enumFromTo|error|even|exp|exponent|fail|filter|flip|floatDigits|floatRadix|floatRange|floor|fmap|foldl|foldl1|foldr|foldr1|fromEnum|fromInteger|fromIntegral|fromRational|fst|gcd|getChar|getContents|getLine|head|id|init|interact|ioError|isDenormalized|isIEEE|isInfinite|isNaN|isNegativeZero|iterate|last|lcm|length|lex|lines|log|logBase|lookup|map|mapM|mapM_|max|maxBound|maximum|maybe|min|minBound|minimum|mod|negate|not|notElem|null|odd|or|otherwise|pi|pred|print|product|properFraction|putChar|putStr|putStrLn|quot|quotRem|read|readFile|readIO|readList|readLn|readParen|reads|readsPrec|realToFrac|recip|rem|repeat|replicate|return|reverse|round|scaleFloat|scanl|scanl1|scanr|scanr1|seq|sequence|sequence_|show|showChar|showList|showParen|showString|shows|showsPrec|significand|signum|sin|sinh|snd|span|splitAt|sqrt|subtract|succ|sum|tail|take|takeWhile|tan|tanh|toEnum|toInteger|toRational|truncate|uncurry|undefined|unlines|until|unwords|unzip|unzip3|userError|words|writeFile|zip|zip3|zipWith|zipWith3)\b(?!')</string> | ||||
| 			<key>name</key> | ||||
| 			<string>support.function.prelude.haskell</string> | ||||
| 		</dict> | ||||
| 		<dict> | ||||
| 			<key>include</key> | ||||
| 			<string>#infix_op</string> | ||||
| 		</dict> | ||||
| 		<dict> | ||||
| 			<key>comment</key> | ||||
| 			<string>In case this regex seems overly general, note that Haskell permits the definition of new operators which can be nearly any string of punctuation characters, such as $%^&*.</string> | ||||
| 			<key>match</key> | ||||
| 			<string>((?![(),;\[\]`{}_"'])[\p{S}\p{P}])+</string> | ||||
| 			<key>name</key> | ||||
| 			<string>keyword.operator.haskell</string> | ||||
| 		</dict> | ||||
| 		<dict> | ||||
| 			<key>match</key> | ||||
| 			<string>,</string> | ||||
| 			<key>name</key> | ||||
| 			<string>punctuation.separator.comma.haskell</string> | ||||
| 		</dict> | ||||
| 	</array> | ||||
| 	<key>repository</key> | ||||
| 	<dict> | ||||
| 		<key>block_comment</key> | ||||
| 		<dict> | ||||
| 			<key>applyEndPatternLast</key> | ||||
| 			<integer>1</integer> | ||||
| 			<key>begin</key> | ||||
| 			<string>\{-(?!#)</string> | ||||
| 			<key>captures</key> | ||||
| 			<dict> | ||||
| 				<key>0</key> | ||||
| 				<dict> | ||||
| 					<key>name</key> | ||||
| 					<string>punctuation.definition.comment.haskell</string> | ||||
| 				</dict> | ||||
| 			</dict> | ||||
| 			<key>end</key> | ||||
| 			<string>-\}</string> | ||||
| 			<key>name</key> | ||||
| 			<string>comment.block.haskell</string> | ||||
| 			<key>patterns</key> | ||||
| 			<array> | ||||
| 				<dict> | ||||
| 					<key>include</key> | ||||
| 					<string>#block_comment</string> | ||||
| 				</dict> | ||||
| 			</array> | ||||
| 		</dict> | ||||
| 		<key>comments</key> | ||||
| 		<dict> | ||||
| 			<key>patterns</key> | ||||
| 			<array> | ||||
| 				<dict> | ||||
| 					<key>begin</key> | ||||
| 					<string>(^[ \t]+)?(?=--+((?![\p{S}\p{P}])|[(),;\[\]`{}_"']))</string> | ||||
| 					<key>beginCaptures</key> | ||||
| 					<dict> | ||||
| 						<key>1</key> | ||||
| 						<dict> | ||||
| 							<key>name</key> | ||||
| 							<string>punctuation.whitespace.comment.leading.haskell</string> | ||||
| 						</dict> | ||||
| 					</dict> | ||||
| 					<key>comment</key> | ||||
| 					<string>Operators may begin with '--' as long as they are not entirely composed of '-' characters. This means comments can't be immediately followed by an allowable operator character.</string> | ||||
| 					<key>end</key> | ||||
| 					<string>(?!\G)</string> | ||||
| 					<key>patterns</key> | ||||
| 					<array> | ||||
| 						<dict> | ||||
| 							<key>begin</key> | ||||
| 							<string>--</string> | ||||
| 							<key>beginCaptures</key> | ||||
| 							<dict> | ||||
| 								<key>0</key> | ||||
| 								<dict> | ||||
| 									<key>name</key> | ||||
| 									<string>punctuation.definition.comment.haskell</string> | ||||
| 								</dict> | ||||
| 							</dict> | ||||
| 							<key>end</key> | ||||
| 							<string>\n</string> | ||||
| 							<key>name</key> | ||||
| 							<string>comment.line.double-dash.haskell</string> | ||||
| 						</dict> | ||||
| 					</array> | ||||
| 				</dict> | ||||
| 				<dict> | ||||
| 					<key>include</key> | ||||
| 					<string>#block_comment</string> | ||||
| 				</dict> | ||||
| 			</array> | ||||
| 		</dict> | ||||
| 		<key>infix_op</key> | ||||
| 		<dict> | ||||
| 			<key>comment</key> | ||||
| 			<string>An operator cannot be composed entirely of '-' characters; instead, it should be matched as a comment.</string> | ||||
| 			<key>match</key> | ||||
| 			<string>(\((?!--+\))((?![(),;\[\]`{}_"'])[\p{S}\p{P}])+\)|\(,+\))</string> | ||||
| 			<key>name</key> | ||||
| 			<string>entity.name.function.infix.haskell</string> | ||||
| 		</dict> | ||||
| 		<key>module_exports</key> | ||||
| 		<dict> | ||||
| 			<key>begin</key> | ||||
| 			<string>\(</string> | ||||
| 			<key>end</key> | ||||
| 			<string>\)</string> | ||||
| 			<key>name</key> | ||||
| 			<string>meta.declaration.exports.haskell</string> | ||||
| 			<key>patterns</key> | ||||
| 			<array> | ||||
| 				<dict> | ||||
| 					<key>match</key> | ||||
| 					<string>\b[\p{Ll}_][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*</string> | ||||
| 					<key>name</key> | ||||
| 					<string>entity.name.function.haskell</string> | ||||
| 				</dict> | ||||
| 				<dict> | ||||
| 					<key>match</key> | ||||
| 					<string>\b[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*</string> | ||||
| 					<key>name</key> | ||||
| 					<string>storage.type.haskell</string> | ||||
| 				</dict> | ||||
| 				<dict> | ||||
| 					<key>match</key> | ||||
| 					<string>,</string> | ||||
| 					<key>name</key> | ||||
| 					<string>punctuation.separator.comma.haskell</string> | ||||
| 				</dict> | ||||
| 				<dict> | ||||
| 					<key>include</key> | ||||
| 					<string>#infix_op</string> | ||||
| 				</dict> | ||||
| 				<dict> | ||||
| 					<key>comment</key> | ||||
| 					<string>So named because I don't know what to call this.</string> | ||||
| 					<key>match</key> | ||||
| 					<string>\(.*?\)</string> | ||||
| 					<key>name</key> | ||||
| 					<string>meta.other.unknown.haskell</string> | ||||
| 				</dict> | ||||
| 			</array> | ||||
| 		</dict> | ||||
| 		<key>module_name</key> | ||||
| 		<dict> | ||||
| 			<key>match</key> | ||||
| 			<string>(?<conid>[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*(\.\g<conid>)?)</string> | ||||
| 			<key>name</key> | ||||
| 			<string>support.other.module.haskell</string> | ||||
| 		</dict> | ||||
| 		<key>pragma</key> | ||||
| 		<dict> | ||||
| 			<key>begin</key> | ||||
| 			<string>\{-#</string> | ||||
| 			<key>end</key> | ||||
| 			<string>#-\}</string> | ||||
| 			<key>name</key> | ||||
| 			<string>meta.preprocessor.haskell</string> | ||||
| 			<key>patterns</key> | ||||
| 			<array> | ||||
| 				<dict> | ||||
| 					<key>match</key> | ||||
| 					<string>\b(LANGUAGE|UNPACK|INLINE)\b</string> | ||||
| 					<key>name</key> | ||||
| 					<string>keyword.other.preprocessor.haskell</string> | ||||
| 				</dict> | ||||
| 			</array> | ||||
| 		</dict> | ||||
| 		<key>type_signature</key> | ||||
| 		<dict> | ||||
| 			<key>patterns</key> | ||||
| 			<array> | ||||
| 				<dict> | ||||
| 					<key>captures</key> | ||||
| 					<dict> | ||||
| 						<key>1</key> | ||||
| 						<dict> | ||||
| 							<key>name</key> | ||||
| 							<string>entity.other.inherited-class.haskell</string> | ||||
| 						</dict> | ||||
| 						<key>2</key> | ||||
| 						<dict> | ||||
| 							<key>name</key> | ||||
| 							<string>variable.other.generic-type.haskell</string> | ||||
| 						</dict> | ||||
| 						<key>3</key> | ||||
| 						<dict> | ||||
| 							<key>name</key> | ||||
| 							<string>keyword.other.big-arrow.haskell</string> | ||||
| 						</dict> | ||||
| 					</dict> | ||||
| 					<key>match</key> | ||||
| 					<string>\(\s*([\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*)\s+([\p{Ll}_][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*)\)\s*(=>)</string> | ||||
| 					<key>name</key> | ||||
| 					<string>meta.class-constraint.haskell</string> | ||||
| 				</dict> | ||||
| 				<dict> | ||||
| 					<key>include</key> | ||||
| 					<string>#pragma</string> | ||||
| 				</dict> | ||||
| 				<dict> | ||||
| 					<key>match</key> | ||||
| 					<string>-></string> | ||||
| 					<key>name</key> | ||||
| 					<string>keyword.other.arrow.haskell</string> | ||||
| 				</dict> | ||||
| 				<dict> | ||||
| 					<key>match</key> | ||||
| 					<string>=></string> | ||||
| 					<key>name</key> | ||||
| 					<string>keyword.other.big-arrow.haskell</string> | ||||
| 				</dict> | ||||
| 				<dict> | ||||
| 					<key>match</key> | ||||
| 					<string>\b(Int(eger)?|Maybe|Either|Bool|Float|Double|Char|String|Ordering|ShowS|ReadS|FilePath|IO(Error)?)\b</string> | ||||
| 					<key>name</key> | ||||
| 					<string>support.type.prelude.haskell</string> | ||||
| 				</dict> | ||||
| 				<dict> | ||||
| 					<key>match</key> | ||||
| 					<string>\b[\p{Ll}_][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*</string> | ||||
| 					<key>name</key> | ||||
| 					<string>variable.other.generic-type.haskell</string> | ||||
| 				</dict> | ||||
| 				<dict> | ||||
| 					<key>match</key> | ||||
| 					<string>\b[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*</string> | ||||
| 					<key>name</key> | ||||
| 					<string>storage.type.haskell</string> | ||||
| 				</dict> | ||||
| 				<dict> | ||||
| 					<key>match</key> | ||||
| 					<string>\(\)</string> | ||||
| 					<key>name</key> | ||||
| 					<string>support.constant.unit.haskell</string> | ||||
| 				</dict> | ||||
| 				<dict> | ||||
| 					<key>include</key> | ||||
| 					<string>#comments</string> | ||||
| 				</dict> | ||||
| 			</array> | ||||
| 		</dict> | ||||
| 	</dict> | ||||
| 	<key>scopeName</key> | ||||
| 	<string>source.haskell</string> | ||||
| 	<key>uuid</key> | ||||
| 	<string>5C034675-1F6D-497E-8073-369D37E2FD7D</string> | ||||
| </dict> | ||||
| </plist> | ||||
| @@ -1,92 +0,0 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | ||||
| <plist version="1.0"> | ||||
| <dict> | ||||
| 	<key>fileTypes</key> | ||||
| 	<array> | ||||
| 		<string>lhs</string> | ||||
| 	</array> | ||||
| 	<key>keyEquivalent</key> | ||||
| 	<string>^~H</string> | ||||
| 	<key>name</key> | ||||
| 	<string>Literate Haskell</string> | ||||
| 	<key>patterns</key> | ||||
| 	<array> | ||||
| 		<dict> | ||||
| 			<key>begin</key> | ||||
| 			<string>^((\\)begin)({)code(})(\s*\n)?</string> | ||||
| 			<key>captures</key> | ||||
| 			<dict> | ||||
| 				<key>1</key> | ||||
| 				<dict> | ||||
| 					<key>name</key> | ||||
| 					<string>support.function.be.latex</string> | ||||
| 				</dict> | ||||
| 				<key>2</key> | ||||
| 				<dict> | ||||
| 					<key>name</key> | ||||
| 					<string>punctuation.definition.function.latex</string> | ||||
| 				</dict> | ||||
| 				<key>3</key> | ||||
| 				<dict> | ||||
| 					<key>name</key> | ||||
| 					<string>punctuation.definition.arguments.begin.latex</string> | ||||
| 				</dict> | ||||
| 				<key>4</key> | ||||
| 				<dict> | ||||
| 					<key>name</key> | ||||
| 					<string>punctuation.definition.arguments.end.latex</string> | ||||
| 				</dict> | ||||
| 			</dict> | ||||
| 			<key>contentName</key> | ||||
| 			<string>source.haskell.embedded.latex</string> | ||||
| 			<key>end</key> | ||||
| 			<string>^((\\)end)({)code(})</string> | ||||
| 			<key>name</key> | ||||
| 			<string>meta.embedded.block.haskell.latex</string> | ||||
| 			<key>patterns</key> | ||||
| 			<array> | ||||
| 				<dict> | ||||
| 					<key>include</key> | ||||
| 					<string>source.haskell</string> | ||||
| 				</dict> | ||||
| 			</array> | ||||
| 		</dict> | ||||
| 		<dict> | ||||
| 			<key>begin</key> | ||||
| 			<string>^(> )</string> | ||||
| 			<key>beginCaptures</key> | ||||
| 			<dict> | ||||
| 				<key>1</key> | ||||
| 				<dict> | ||||
| 					<key>name</key> | ||||
| 					<string>punctuation.definition.bird-track.haskell</string> | ||||
| 				</dict> | ||||
| 			</dict> | ||||
| 			<key>comment</key> | ||||
| 			<string>This breaks type signature detection for now, but it's better than having no highlighting whatsoever.</string> | ||||
| 			<key>contentName</key> | ||||
| 			<string>source.haskell</string> | ||||
| 			<key>end</key> | ||||
| 			<string>$</string> | ||||
| 			<key>name</key> | ||||
| 			<string>meta.embedded.haskell</string> | ||||
| 			<key>patterns</key> | ||||
| 			<array> | ||||
| 				<dict> | ||||
| 					<key>include</key> | ||||
| 					<string>source.haskell</string> | ||||
| 				</dict> | ||||
| 			</array> | ||||
| 		</dict> | ||||
| 		<dict> | ||||
| 			<key>include</key> | ||||
| 			<string>text.tex.latex</string> | ||||
| 		</dict> | ||||
| 	</array> | ||||
| 	<key>scopeName</key> | ||||
| 	<string>text.tex.latex.haskell</string> | ||||
| 	<key>uuid</key> | ||||
| 	<string>439807F5-7129-487D-B5DC-95D5272B43DD</string> | ||||
| </dict> | ||||
| </plist> | ||||
							
								
								
									
										58
									
								
								vendor/grammars/haskell.tmbundle/info.plist
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										58
									
								
								vendor/grammars/haskell.tmbundle/info.plist
									
									
									
									
										vendored
									
									
								
							| @@ -1,58 +0,0 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | ||||
| <plist version="1.0"> | ||||
| <dict> | ||||
| 	<key>contactEmailRot13</key> | ||||
| 	<string>wnzvf@37fvtanyf.pbz</string> | ||||
| 	<key>contactName</key> | ||||
| 	<string>Jamis Buck</string> | ||||
| 	<key>description</key> | ||||
| 	<string>Support for <a href="http://www.haskell.org/">Haskell</a>, a general purpose, purely functional programming language featuring static typing, higher order functions, polymorphism, type classes, and monadic effects.</string> | ||||
| 	<key>mainMenu</key> | ||||
| 	<dict> | ||||
| 		<key>items</key> | ||||
| 		<array> | ||||
| 			<string>3B083BE7-9812-4F06-A758-CCAD9514E797</string> | ||||
| 			<string>2242C46C-153E-4EEB-B80B-A5398559D759</string> | ||||
| 			<string>------------------------------------</string> | ||||
| 			<string>6B723007-D4EE-476B-8282-76230C559D5A</string> | ||||
| 			<string>50D814AE-D850-4C97-AF3E-1FDE4366C6A3</string> | ||||
| 			<string>------------------------------------</string> | ||||
| 			<string>FA4AA254-EB7D-4B43-AC67-066AA9E8E8D9</string> | ||||
| 			<string>------------------------------------</string> | ||||
| 			<string>A3A65891-D126-4D2D-9E6B-E20ADE2EAA88</string> | ||||
| 			<string>21646767-DD1B-4BA9-BF3B-15968F8672AB</string> | ||||
| 			<string>18F43074-566D-4AD9-8DCE-9C26B8516B64</string> | ||||
| 			<string>CE424A97-E486-4DE7-9328-C6ADB99B4ABD</string> | ||||
| 			<string>------------------------------------</string> | ||||
| 			<string>89248B78-C2C6-48EE-BC47-CF8E9A5EA0E7</string> | ||||
| 		</array> | ||||
| 		<key>submenus</key> | ||||
| 		<dict/> | ||||
| 	</dict> | ||||
| 	<key>name</key> | ||||
| 	<string>Haskell</string> | ||||
| 	<key>ordering</key> | ||||
| 	<array> | ||||
| 		<string>3B083BE7-9812-4F06-A758-CCAD9514E797</string> | ||||
| 		<string>2242C46C-153E-4EEB-B80B-A5398559D759</string> | ||||
| 		<string>6B723007-D4EE-476B-8282-76230C559D5A</string> | ||||
| 		<string>50D814AE-D850-4C97-AF3E-1FDE4366C6A3</string> | ||||
| 		<string>FA4AA254-EB7D-4B43-AC67-066AA9E8E8D9</string> | ||||
| 		<string>A3A65891-D126-4D2D-9E6B-E20ADE2EAA88</string> | ||||
| 		<string>21646767-DD1B-4BA9-BF3B-15968F8672AB</string> | ||||
| 		<string>18F43074-566D-4AD9-8DCE-9C26B8516B64</string> | ||||
| 		<string>CE424A97-E486-4DE7-9328-C6ADB99B4ABD</string> | ||||
| 		<string>89248B78-C2C6-48EE-BC47-CF8E9A5EA0E7</string> | ||||
| 		<string>4B154C05-D107-4316-9AAD-43A3DCF1860A</string> | ||||
| 		<string>5C034675-1F6D-497E-8073-369D37E2FD7D</string> | ||||
| 		<string>439807F5-7129-487D-B5DC-95D5272B43DD</string> | ||||
| 		<string>E3994307-4D9E-44D6-832E-52C244F1CDF3</string> | ||||
| 		<string>39417FB9-B85C-4213-BB1D-C19BCDD4E487</string> | ||||
| 		<string>0C39B945-E2C0-4E43-8A5B-332F6FA73C67</string> | ||||
| 		<string>FBF9D932-D5CE-4EC4-9162-122E511C8627</string> | ||||
| 	</array> | ||||
| 	<key>uuid</key> | ||||
| 	<string>118557A4-4FEF-406D-A68E-BD191D9CBC83</string> | ||||
| </dict> | ||||
| </plist> | ||||
| @@ -1,2 +0,0 @@ | ||||
| *.cache | ||||
| *.pyc | ||||
							
								
								
									
										20
									
								
								vendor/grammars/sublime_man_page_support/LICENSE
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										20
									
								
								vendor/grammars/sublime_man_page_support/LICENSE
									
									
									
									
										vendored
									
									
								
							| @@ -1,20 +0,0 @@ | ||||
| The MIT License (MIT) | ||||
|  | ||||
| Copyright (c) 2013 carsonoid | ||||
|  | ||||
| Permission is hereby granted, free of charge, to any person obtaining a copy of | ||||
| this software and associated documentation files (the "Software"), to deal in | ||||
| the Software without restriction, including without limitation the rights to | ||||
| use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of | ||||
| the Software, and to permit persons to whom the Software is furnished to do so, | ||||
| subject to the following conditions: | ||||
|  | ||||
| The above copyright notice and this permission notice shall be included in all | ||||
| copies or substantial portions of the Software. | ||||
|  | ||||
| THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||||
| IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS | ||||
| FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR | ||||
| COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER | ||||
| IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | ||||
| CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||||
| @@ -1,23 +0,0 @@ | ||||
| [ | ||||
|     { | ||||
|         "id": "tools", | ||||
|         "children": | ||||
|         [ | ||||
|             { | ||||
|                 "id": "packages", | ||||
|                 "caption": "Packages", | ||||
|                 "children": | ||||
|                 [ | ||||
|                     { | ||||
|                         "caption": "Man Page Editing", | ||||
|                         "id": "man_page_dev", | ||||
|                         "children": | ||||
|                         [ | ||||
|                             { "caption": "New Man Page", "command": "man_page_new" } | ||||
|                         ] | ||||
|                     } | ||||
|                 ] | ||||
|             } | ||||
|         ] | ||||
|     } | ||||
| ] | ||||
| @@ -1,4 +0,0 @@ | ||||
| { | ||||
|     "target": "man_page_preview", | ||||
|     "selector": "text.groff" | ||||
| } | ||||
| @@ -1,10 +0,0 @@ | ||||
| [ | ||||
|   { | ||||
|     "caption": "Create New Man Page", | ||||
|     "command": "man_page_new" | ||||
|   }, | ||||
|   { | ||||
|     "caption": "Preview Current Man Page", | ||||
|     "command": "man_page_preview" | ||||
|   } | ||||
| ] | ||||
| @@ -1,10 +0,0 @@ | ||||
| #Sublime Man Page Support | ||||
|  | ||||
| Sublime Text 2 Support for Unix style manual pages. | ||||
|  | ||||
| ## Includes: | ||||
|  | ||||
|  * groff syntax highlighting | ||||
|  * command to create a new man page skeleton | ||||
|  * snippet that will add useful macros to your man pages on older systems (must come before man page content) | ||||
|  * Preview command, build-system, and syntax | ||||
| @@ -1,201 +0,0 @@ | ||||
| <snippet> | ||||
|     <content><![CDATA[ | ||||
| .\\" Convenience macros that enable easier support for comman man actions | ||||
| .\\" Includes support for synopsis, options, url, email, etc. | ||||
| .\\" copied from the tmac file distributed with Linux Mint 17 | ||||
|  | ||||
| .\\" Convention: Auxiliary macros and registers start with `m' followed | ||||
| .\\"             by an uppercase letter or digit. | ||||
| . | ||||
| . | ||||
| .\\" Protect against being sourced twice. | ||||
| .nr mX +1 | ||||
| .if \\n(mX>1 \\ | ||||
| .  nx | ||||
| . | ||||
| .\\" Check whether we are using grohtml. | ||||
| .nr mH 0 | ||||
| .if \\n(.g \\ | ||||
| .  if '\\*(.T'html' \\ | ||||
| .    nr mH 1 | ||||
| . | ||||
| . | ||||
| .\\" Map mono-width fonts to standard fonts for groff's TTY device. | ||||
| .if n \\{\\ | ||||
| .  do ftr CR R | ||||
| .  do ftr CI I | ||||
| .  do ftr CB B | ||||
| .\\} | ||||
| . | ||||
| .\\" groff has glyph entities for angle brackets. | ||||
| .ie \\n(.g \\{\\ | ||||
| .  ds la \\(la\\" | ||||
| .  ds ra \\(ra\\" | ||||
| .\\} | ||||
| .el \\{\\ | ||||
| .  ds la <\\" | ||||
| .  ds ra >\\" | ||||
| .  \\" groff's man macros control hyphenation with this register. | ||||
| .  nr HY 1 | ||||
| .\\} | ||||
| . | ||||
| .nr mS 0 | ||||
| . | ||||
| . | ||||
| .\\" Declare start of command synopsis.  Sets up hanging indentation. | ||||
| .de SY | ||||
| .  ie !\\\\n(mS \\{\\ | ||||
| .    nh | ||||
| .    nr mS 1 | ||||
| .    nr mA \\\\n(.j | ||||
| .    ad l | ||||
| .    nr mI \\\\n(.i | ||||
| .  \\} | ||||
| .  el \\{\\ | ||||
| .    br | ||||
| .    ns | ||||
| .  \\} | ||||
| . | ||||
| .  nr mT \\w'\\fB\\\\\$1\\fP\\ ' | ||||
| .  HP \\\\n(mTu | ||||
| .  B "\\\\\$1" | ||||
| .. | ||||
| . | ||||
| . | ||||
| .\\" End of command synopsis.  Restores adjustment. | ||||
| .de YS | ||||
| .  in \\\\n(mIu | ||||
| .  ad \\\\n(mA | ||||
| .  hy \\\\n(HY | ||||
| .  nr mS 0 | ||||
| .. | ||||
| . | ||||
| . | ||||
| .\\" Declare optional option. | ||||
| .de OP | ||||
| .  ie \\\\n(.\$-1 \\ | ||||
| .    RI "[\\fB\\\\\$1\\fP" "\\ \\\\\$2" "]" | ||||
| .  el \\ | ||||
| .    RB "[" "\\\\\$1" "]" | ||||
| .. | ||||
| . | ||||
| . | ||||
| .\\" Start URL. | ||||
| .de UR | ||||
| .  ds m1 \\\\\$1\\" | ||||
| .  nh | ||||
| .  if \\\\n(mH \\{\\ | ||||
| .    \\" Start diversion in a new environment. | ||||
| .    do ev URL-div | ||||
| .    do di URL-div | ||||
| .  \\} | ||||
| .. | ||||
| . | ||||
| . | ||||
| .\\" End URL. | ||||
| .de UE | ||||
| .  ie \\\\n(mH \\{\\ | ||||
| .    br | ||||
| .    di | ||||
| .    ev | ||||
| . | ||||
| .    \\" Has there been one or more input lines for the link text? | ||||
| .    ie \\\\n(dn \\{\\ | ||||
| .      do HTML-NS "<a href=""\\\\*(m1"">" | ||||
| .      \\" Yes, strip off final newline of diversion and emit it. | ||||
| .      do chop URL-div | ||||
| .      do URL-div | ||||
| \\c | ||||
| .      do HTML-NS </a> | ||||
| .    \\} | ||||
| .    el \\ | ||||
| .      do HTML-NS "<a href=""\\\\*(m1"">\\\\*(m1</a>" | ||||
| \\&\\\\\$*\\" | ||||
| .  \\} | ||||
| .  el \\ | ||||
| \\\\*(la\\\\*(m1\\\\*(ra\\\\\$*\\" | ||||
| . | ||||
| .  hy \\\\n(HY | ||||
| .. | ||||
| . | ||||
| . | ||||
| .\\" Start email address. | ||||
| .de MT | ||||
| .  ds m1 \\\\\$1\\" | ||||
| .  nh | ||||
| .  if \\\\n(mH \\{\\ | ||||
| .    \\" Start diversion in a new environment. | ||||
| .    do ev URL-div | ||||
| .    do di URL-div | ||||
| .  \\} | ||||
| .. | ||||
| . | ||||
| . | ||||
| .\\" End email address. | ||||
| .de ME | ||||
| .  ie \\\\n(mH \\{\\ | ||||
| .    br | ||||
| .    di | ||||
| .    ev | ||||
| . | ||||
| .    \\" Has there been one or more input lines for the link text? | ||||
| .    ie \\\\n(dn \\{\\ | ||||
| .      do HTML-NS "<a href=""mailto:\\\\*(m1"">" | ||||
| .      \\" Yes, strip off final newline of diversion and emit it. | ||||
| .      do chop URL-div | ||||
| .      do URL-div | ||||
| \\c | ||||
| .      do HTML-NS </a> | ||||
| .    \\} | ||||
| .    el \\ | ||||
| .      do HTML-NS "<a href=""mailto:\\\\*(m1"">\\\\*(m1</a>" | ||||
| \\&\\\\\$*\\" | ||||
| .  \\} | ||||
| .  el \\ | ||||
| \\\\*(la\\\\*(m1\\\\*(ra\\\\\$*\\" | ||||
| . | ||||
| .  hy \\\\n(HY | ||||
| .. | ||||
| . | ||||
| . | ||||
| .\\" Continuation line for .TP header. | ||||
| .de TQ | ||||
| .  br | ||||
| .  ns | ||||
| .  TP \\\\\$1\\" no doublequotes around argument! | ||||
| .. | ||||
| . | ||||
| . | ||||
| .\\" Start example. | ||||
| .de EX | ||||
| .  nr mE \\\\n(.f | ||||
| .  nf | ||||
| .  nh | ||||
| .  ft CW | ||||
| .. | ||||
| . | ||||
| . | ||||
| .\\" End example. | ||||
| .de EE | ||||
| .  ft \\\\n(mE | ||||
| .  fi | ||||
| .  hy \\\\n(HY | ||||
| .. | ||||
| . | ||||
| . | ||||
| .\\" Start display. | ||||
| .de DS | ||||
| .  \\" XXX to be written | ||||
| .. | ||||
| . | ||||
| . | ||||
| .\\" End display. | ||||
| .de DE | ||||
| .  \\" XXX to be written | ||||
| .. | ||||
| . | ||||
| .\\" EOF | ||||
|  | ||||
| ]]></content> | ||||
| </snippet> | ||||
|  | ||||
| @@ -1,85 +0,0 @@ | ||||
| { "name": "Man Page (groff/troff)", | ||||
|   "scopeName": "text.groff", | ||||
|   "fileTypes": ["man", "groff"], | ||||
|   "patterns": [ | ||||
|     { | ||||
|       "name": "comment.macro.text.groff", | ||||
|       "match": "^\\.\\\\\".*$", | ||||
|       "comment": "comments" | ||||
|     }, | ||||
|     { | ||||
|       "name": "uri.macro.text.groff", | ||||
|       "begin": "^(\\.UR)\\b(.*)$", | ||||
|       "beginCaptures": { | ||||
|         "1": { "name": "keyword.text.groff" }, | ||||
|         "2": { "name": "constant.other.text.groff" } | ||||
|       }, | ||||
|       "end": "^(\\.UE)", | ||||
|       "endCaptures": { | ||||
|         "1": { "name": "keyword.text.groff" } | ||||
|       }, | ||||
|       "patterns": [ | ||||
|         { | ||||
|           "name": "string.text.groff", | ||||
|           "match": "." | ||||
|         } | ||||
|       ], | ||||
|       "comment": "email address macro" | ||||
|     }, | ||||
|     { | ||||
|       "name": "emailaddress.macro.text.groff", | ||||
|       "begin": "^(\\.MT)\\b(.*)$", | ||||
|       "beginCaptures": { | ||||
|         "1": { "name": "keyword.text.groff" }, | ||||
|         "2": { "name": "constant.other.text.groff" } | ||||
|       }, | ||||
|       "end": "^(\\.ME)", | ||||
|       "endCaptures": { | ||||
|         "1": { "name": "keyword.text.groff" } | ||||
|       }, | ||||
|       "patterns": [ | ||||
|         { | ||||
|           "name": "string.text.groff", | ||||
|           "match": "." | ||||
|         } | ||||
|       ], | ||||
|       "comment": "email address macro" | ||||
|     }, | ||||
|     { | ||||
|       "name": "option.macro.text.groff", | ||||
|       "match": "^(\\.OP)\\s([^\\s]+)\\s?(.*)$", | ||||
|       "captures": { | ||||
|         "1": { "name": "keyword.text.groff" }, | ||||
|         "2": { "name": "support.constant.text.groff" }, | ||||
|         "3": { "name": "string.text.groff" } | ||||
|       }, | ||||
|       "comment": "text style macros" | ||||
|     }, | ||||
|     { | ||||
|       "name": "style.macro.text.groff", | ||||
|       "begin": "^(\\.SM|\\.SB|\\.BI|\\.IB|\\.RI|\\.IR|\\.BR|\\.RB|\\.B|\\.I)\\b", | ||||
|       "beginCaptures": { | ||||
|         "1": { "name": "keyword.text.groff" } | ||||
|       }, | ||||
|       "end": "$", | ||||
|       "patterns": [ | ||||
|         { | ||||
|           "name": "string.text.groff", | ||||
|           "match": ".", | ||||
|           "comment": "catch-all" | ||||
|         } | ||||
|       ], | ||||
|       "comment": "text style macros" | ||||
|     }, | ||||
|     { | ||||
|       "name": "macro.text.groff", | ||||
|       "match": "^(\\.[a-zA-Z]*\\s?)(\\s?.+)?$", | ||||
|       "captures": { | ||||
|         "1": { "name": "keyword.text.groff" }, | ||||
|         "2": { "name": "entity.text.groff" } | ||||
|       }, | ||||
|       "comment": "marco catch-all" | ||||
|     } | ||||
|   ], | ||||
|   "uuid": "9f281c08-ae81-4ccd-b910-a67b17d1952e" | ||||
| } | ||||
| @@ -1,184 +0,0 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | ||||
| <plist version="1.0"> | ||||
| <dict> | ||||
| 	<key>fileTypes</key> | ||||
| 	<array> | ||||
| 		<string>man</string> | ||||
| 		<string>groff</string> | ||||
| 	</array> | ||||
| 	<key>name</key> | ||||
| 	<string>Man Page (groff/troff)</string> | ||||
| 	<key>patterns</key> | ||||
| 	<array> | ||||
| 		<dict> | ||||
| 			<key>comment</key> | ||||
| 			<string>comments</string> | ||||
| 			<key>match</key> | ||||
| 			<string>^\.\\".*$</string> | ||||
| 			<key>name</key> | ||||
| 			<string>comment.macro.text.groff</string> | ||||
| 		</dict> | ||||
| 		<dict> | ||||
| 			<key>begin</key> | ||||
| 			<string>^(\.UR)\b(.*)$</string> | ||||
| 			<key>beginCaptures</key> | ||||
| 			<dict> | ||||
| 				<key>1</key> | ||||
| 				<dict> | ||||
| 					<key>name</key> | ||||
| 					<string>keyword.text.groff</string> | ||||
| 				</dict> | ||||
| 				<key>2</key> | ||||
| 				<dict> | ||||
| 					<key>name</key> | ||||
| 					<string>constant.other.text.groff</string> | ||||
| 				</dict> | ||||
| 			</dict> | ||||
| 			<key>comment</key> | ||||
| 			<string>email address macro</string> | ||||
| 			<key>end</key> | ||||
| 			<string>^(\.UE)</string> | ||||
| 			<key>endCaptures</key> | ||||
| 			<dict> | ||||
| 				<key>1</key> | ||||
| 				<dict> | ||||
| 					<key>name</key> | ||||
| 					<string>keyword.text.groff</string> | ||||
| 				</dict> | ||||
| 			</dict> | ||||
| 			<key>name</key> | ||||
| 			<string>uri.macro.text.groff</string> | ||||
| 			<key>patterns</key> | ||||
| 			<array> | ||||
| 				<dict> | ||||
| 					<key>match</key> | ||||
| 					<string>.</string> | ||||
| 					<key>name</key> | ||||
| 					<string>string.text.groff</string> | ||||
| 				</dict> | ||||
| 			</array> | ||||
| 		</dict> | ||||
| 		<dict> | ||||
| 			<key>begin</key> | ||||
| 			<string>^(\.MT)\b(.*)$</string> | ||||
| 			<key>beginCaptures</key> | ||||
| 			<dict> | ||||
| 				<key>1</key> | ||||
| 				<dict> | ||||
| 					<key>name</key> | ||||
| 					<string>keyword.text.groff</string> | ||||
| 				</dict> | ||||
| 				<key>2</key> | ||||
| 				<dict> | ||||
| 					<key>name</key> | ||||
| 					<string>constant.other.text.groff</string> | ||||
| 				</dict> | ||||
| 			</dict> | ||||
| 			<key>comment</key> | ||||
| 			<string>email address macro</string> | ||||
| 			<key>end</key> | ||||
| 			<string>^(\.ME)</string> | ||||
| 			<key>endCaptures</key> | ||||
| 			<dict> | ||||
| 				<key>1</key> | ||||
| 				<dict> | ||||
| 					<key>name</key> | ||||
| 					<string>keyword.text.groff</string> | ||||
| 				</dict> | ||||
| 			</dict> | ||||
| 			<key>name</key> | ||||
| 			<string>emailaddress.macro.text.groff</string> | ||||
| 			<key>patterns</key> | ||||
| 			<array> | ||||
| 				<dict> | ||||
| 					<key>match</key> | ||||
| 					<string>.</string> | ||||
| 					<key>name</key> | ||||
| 					<string>string.text.groff</string> | ||||
| 				</dict> | ||||
| 			</array> | ||||
| 		</dict> | ||||
| 		<dict> | ||||
| 			<key>captures</key> | ||||
| 			<dict> | ||||
| 				<key>1</key> | ||||
| 				<dict> | ||||
| 					<key>name</key> | ||||
| 					<string>keyword.text.groff</string> | ||||
| 				</dict> | ||||
| 				<key>2</key> | ||||
| 				<dict> | ||||
| 					<key>name</key> | ||||
| 					<string>support.constant.text.groff</string> | ||||
| 				</dict> | ||||
| 				<key>3</key> | ||||
| 				<dict> | ||||
| 					<key>name</key> | ||||
| 					<string>string.text.groff</string> | ||||
| 				</dict> | ||||
| 			</dict> | ||||
| 			<key>comment</key> | ||||
| 			<string>text style macros</string> | ||||
| 			<key>match</key> | ||||
| 			<string>^(\.OP)\s([^\s]+)\s?(.*)$</string> | ||||
| 			<key>name</key> | ||||
| 			<string>option.macro.text.groff</string> | ||||
| 		</dict> | ||||
| 		<dict> | ||||
| 			<key>begin</key> | ||||
| 			<string>^(\.SM|\.SB|\.BI|\.IB|\.RI|\.IR|\.BR|\.RB|\.B|\.I)\b</string> | ||||
| 			<key>beginCaptures</key> | ||||
| 			<dict> | ||||
| 				<key>1</key> | ||||
| 				<dict> | ||||
| 					<key>name</key> | ||||
| 					<string>keyword.text.groff</string> | ||||
| 				</dict> | ||||
| 			</dict> | ||||
| 			<key>comment</key> | ||||
| 			<string>text style macros</string> | ||||
| 			<key>end</key> | ||||
| 			<string>$</string> | ||||
| 			<key>name</key> | ||||
| 			<string>style.macro.text.groff</string> | ||||
| 			<key>patterns</key> | ||||
| 			<array> | ||||
| 				<dict> | ||||
| 					<key>comment</key> | ||||
| 					<string>catch-all</string> | ||||
| 					<key>match</key> | ||||
| 					<string>.</string> | ||||
| 					<key>name</key> | ||||
| 					<string>string.text.groff</string> | ||||
| 				</dict> | ||||
| 			</array> | ||||
| 		</dict> | ||||
| 		<dict> | ||||
| 			<key>captures</key> | ||||
| 			<dict> | ||||
| 				<key>1</key> | ||||
| 				<dict> | ||||
| 					<key>name</key> | ||||
| 					<string>keyword.text.groff</string> | ||||
| 				</dict> | ||||
| 				<key>2</key> | ||||
| 				<dict> | ||||
| 					<key>name</key> | ||||
| 					<string>entity.text.groff</string> | ||||
| 				</dict> | ||||
| 			</dict> | ||||
| 			<key>comment</key> | ||||
| 			<string>marco catch-all</string> | ||||
| 			<key>match</key> | ||||
| 			<string>^(\.[a-zA-Z]*\s?)(\s?.+)?$</string> | ||||
| 			<key>name</key> | ||||
| 			<string>macro.text.groff</string> | ||||
| 		</dict> | ||||
| 	</array> | ||||
| 	<key>scopeName</key> | ||||
| 	<string>text.groff</string> | ||||
| 	<key>uuid</key> | ||||
| 	<string>9f281c08-ae81-4ccd-b910-a67b17d1952e</string> | ||||
| </dict> | ||||
| </plist> | ||||
| @@ -1,32 +0,0 @@ | ||||
| { "name": "Man Page Preview", | ||||
|   "scopeName": "source.man", | ||||
|   "fileTypes": ["man"], | ||||
|   "uuid": "f3ff3e8d-4f68-432c-af44-e00d6e15c81a", | ||||
|   "patterns": [ | ||||
|     { | ||||
|       "name": "string.source.man", | ||||
|       "match": "^(man\\((\\d+)\\))(.+)(man\\((\\d+)\\).*)$", | ||||
|       "captures": { | ||||
|           "0": { "name": "string.source.man" }, | ||||
|           "2": { "name": "constant.source.man" }, | ||||
|           "3": { "name": "keyword.source.man" }, | ||||
|           "5": { "name": "constant.source.man" } | ||||
|       } | ||||
|     }, | ||||
|     { | ||||
|       "name": "string.source.man", | ||||
|       "match": "^(\\d\\.\\d(\\.\\d)?)(.+)(man\\((\\d+)\\).*)$", | ||||
|       "captures": { | ||||
|           "1": { "name": "constant.source.man" }, | ||||
|           "2": { "name": "storage.source.man" }, | ||||
|           "3": { "name": "keyword.source.man" }, | ||||
|           "4": { "name": "string.source.man" }, | ||||
|           "5": { "name": "constant.source.man" } | ||||
|       } | ||||
|     }, | ||||
|     { | ||||
|       "name": "keyword.source.man", | ||||
|       "match": "^[A-Z][A-Z\\s]+\\s$" | ||||
|     } | ||||
|   ] | ||||
| } | ||||
| @@ -1,88 +0,0 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | ||||
| <plist version="1.0"> | ||||
| <dict> | ||||
| 	<key>fileTypes</key> | ||||
| 	<array> | ||||
| 		<string>man</string> | ||||
| 	</array> | ||||
| 	<key>name</key> | ||||
| 	<string>Man Page Preview</string> | ||||
| 	<key>patterns</key> | ||||
| 	<array> | ||||
| 		<dict> | ||||
| 			<key>captures</key> | ||||
| 			<dict> | ||||
| 				<key>0</key> | ||||
| 				<dict> | ||||
| 					<key>name</key> | ||||
| 					<string>string.source.man</string> | ||||
| 				</dict> | ||||
| 				<key>2</key> | ||||
| 				<dict> | ||||
| 					<key>name</key> | ||||
| 					<string>constant.source.man</string> | ||||
| 				</dict> | ||||
| 				<key>3</key> | ||||
| 				<dict> | ||||
| 					<key>name</key> | ||||
| 					<string>keyword.source.man</string> | ||||
| 				</dict> | ||||
| 				<key>5</key> | ||||
| 				<dict> | ||||
| 					<key>name</key> | ||||
| 					<string>constant.source.man</string> | ||||
| 				</dict> | ||||
| 			</dict> | ||||
| 			<key>match</key> | ||||
| 			<string>^(man\((\d+)\))(.+)(man\((\d+)\).*)$</string> | ||||
| 			<key>name</key> | ||||
| 			<string>string.source.man</string> | ||||
| 		</dict> | ||||
| 		<dict> | ||||
| 			<key>captures</key> | ||||
| 			<dict> | ||||
| 				<key>1</key> | ||||
| 				<dict> | ||||
| 					<key>name</key> | ||||
| 					<string>constant.source.man</string> | ||||
| 				</dict> | ||||
| 				<key>2</key> | ||||
| 				<dict> | ||||
| 					<key>name</key> | ||||
| 					<string>storage.source.man</string> | ||||
| 				</dict> | ||||
| 				<key>3</key> | ||||
| 				<dict> | ||||
| 					<key>name</key> | ||||
| 					<string>keyword.source.man</string> | ||||
| 				</dict> | ||||
| 				<key>4</key> | ||||
| 				<dict> | ||||
| 					<key>name</key> | ||||
| 					<string>string.source.man</string> | ||||
| 				</dict> | ||||
| 				<key>5</key> | ||||
| 				<dict> | ||||
| 					<key>name</key> | ||||
| 					<string>constant.source.man</string> | ||||
| 				</dict> | ||||
| 			</dict> | ||||
| 			<key>match</key> | ||||
| 			<string>^(\d\.\d(\.\d)?)(.+)(man\((\d+)\).*)$</string> | ||||
| 			<key>name</key> | ||||
| 			<string>string.source.man</string> | ||||
| 		</dict> | ||||
| 		<dict> | ||||
| 			<key>match</key> | ||||
| 			<string>^[A-Z][A-Z\s]+\s$</string> | ||||
| 			<key>name</key> | ||||
| 			<string>keyword.source.man</string> | ||||
| 		</dict> | ||||
| 	</array> | ||||
| 	<key>scopeName</key> | ||||
| 	<string>source.man</string> | ||||
| 	<key>uuid</key> | ||||
| 	<string>f3ff3e8d-4f68-432c-af44-e00d6e15c81a</string> | ||||
| </dict> | ||||
| </plist> | ||||
| @@ -1,59 +0,0 @@ | ||||
| import sublime, sublime_plugin | ||||
| import os, time | ||||
| import subprocess | ||||
|  | ||||
| from sublime_lib.path import root_at_packages, get_package_name | ||||
|  | ||||
| class ManPagePreview(sublime_plugin.WindowCommand): | ||||
|     def run(self): | ||||
| 	# exit if file is dirty, we can't run a man command against a file that doesn't exist | ||||
|         if self.window.active_view().is_dirty(): | ||||
|             o = self.window.get_output_panel("manfail") | ||||
|             o.run_command("insert_snippet", {"contents": "Unable to preview unsaved file."}) | ||||
|             self.window.run_command("show_panel", {"panel": "output.manfail"}) | ||||
|             return | ||||
|  | ||||
|         # process document with groff | ||||
|         curpath = self.window.active_view().file_name() | ||||
|         c = subprocess.Popen(["groff", "-Tascii", "-man", curpath], stdout=subprocess.PIPE) | ||||
|         output, err = c.communicate() | ||||
|  | ||||
|         # run groff output through col to clean it up | ||||
|         col = subprocess.Popen(["col", "-bx"], stdout=subprocess.PIPE, stdin=subprocess.PIPE) | ||||
|         cleanout, err = col.communicate(output) | ||||
|  | ||||
|         # write clean output to new window | ||||
|         v = self.window.new_file() | ||||
|         v.settings().set('default_dir', root_at_packages('User')) | ||||
|         v.set_syntax_file('Packages/Man Page Support/man-preview.tmLanguage') | ||||
|         e = v.begin_edit() | ||||
|         p = v.text_point(0,0) | ||||
|         v.insert(e, p, cleanout) | ||||
|         v.end_edit(e) | ||||
|  | ||||
| class ManPageNewCommand(sublime_plugin.WindowCommand): | ||||
|     def run(self): | ||||
|         v = self.window.new_file() | ||||
|         v.settings().set('default_dir', root_at_packages('User')) | ||||
|         v.set_syntax_file('Packages/Man Page Support/man-groff.tmLanguage') | ||||
|  | ||||
|         template = """.\\\" Manpage for ${1:<COMMAND>}. | ||||
| .\\\" Contact ${2:<AUTHOR_EMAIL>} to correct errors or typos. | ||||
| .TH man 8 "%s" "1.0" "${1:<COMMAND>}" | ||||
| .SH NAME | ||||
| ${1:<COMMAND>} | ||||
| .SH SYNOPSIS | ||||
| .SY | ||||
| ${1:<COMMAND>} | ||||
| .YS | ||||
| .SH DESCRIPTION | ||||
| ${1:<COMMAND>} | ||||
| .SH BUGS | ||||
| No known bugs. | ||||
| .SH SEE ALSO | ||||
| .SH AUTHOR | ||||
| .MT ${2:<AUTHOR_EMAIL>} | ||||
| ${3:<AUTHOR_NAME>} | ||||
| .ME | ||||
| """ %(time.strftime("%B %Y")) | ||||
|         v.run_command("insert_snippet", {"contents": template}) | ||||
		Reference in New Issue
	
	Block a user