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