Removing nuked grammars

This commit is contained in:
Arfon Smith
2016-08-24 09:50:12 -07:00
parent 6adec161fa
commit 2f50aa460a
55 changed files with 0 additions and 2626 deletions

View File

@@ -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>

View File

@@ -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 &lt;&lt;"RUBY"
str = ENV['STR']
str = str.gsub(/'/, "'\\\\''")
str = str.gsub(/[\\"]/, '\\\\\\0')
print "'#{str}'"
RUBY
}
osascript &lt;&lt;- 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>

View File

@@ -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 "&lt;meta http-equiv=\"refresh\" content=\"0; http://haskell.org/hoogle/?q=$(cat)\"&gt;"</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>

View File

@@ -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 &lt;&lt;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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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”.

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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} -&gt; ${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>

View File

@@ -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} &lt;- ${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>&lt;</string>
<key>uuid</key>
<string>9EF1F854-442C-40B2-BED5-454A015AA26D</string>
</dict>
</plist>

View File

@@ -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} &lt;- ${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>

View File

@@ -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>

View File

@@ -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} -&gt; ${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>&gt;</string>
<key>uuid</key>
<string>BAF52ED4-6A5B-4260-B5BC-93D2012200C8</string>
</dict>
</plist>

View File

@@ -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}) =&gt; $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>

View File

@@ -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} -&gt; ${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>

View File

@@ -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>

View File

@@ -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} -&gt; ${3:expression}
${4:otherwise} -&gt; ${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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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

View File

@@ -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\\\"'\&amp;])</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\\\"'\&amp;])) # 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*(?&lt;fn&gt;(?:[\p{Ll}_][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*|\((?!--+\))((?![(),;\[\]`{}_"'])[\p{S}\p{P}])+\))(?:\s*,\s*\g&lt;fn&gt;)?)\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 $%^&amp;*.</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>(?&lt;conid&gt;[\p{Lu}\p{Lt}][\p{Ll}_\p{Lu}\p{Lt}\p{Nd}']*(\.\g&lt;conid&gt;)?)</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*(=&gt;)</string>
<key>name</key>
<string>meta.class-constraint.haskell</string>
</dict>
<dict>
<key>include</key>
<string>#pragma</string>
</dict>
<dict>
<key>match</key>
<string>-&gt;</string>
<key>name</key>
<string>keyword.other.arrow.haskell</string>
</dict>
<dict>
<key>match</key>
<string>=&gt;</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>

View File

@@ -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>^(&gt; )</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>

View File

@@ -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 &lt;a href="http://www.haskell.org/"&gt;Haskell&lt;/a&gt;, 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>

View File

@@ -1,2 +0,0 @@
*.cache
*.pyc

View File

@@ -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.

View File

@@ -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" }
]
}
]
}
]
}
]

View File

@@ -1,4 +0,0 @@
{
"target": "man_page_preview",
"selector": "text.groff"
}

View File

@@ -1,10 +0,0 @@
[
{
"caption": "Create New Man Page",
"command": "man_page_new"
},
{
"caption": "Preview Current Man Page",
"command": "man_page_preview"
}
]

View File

@@ -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

View File

@@ -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>

View File

@@ -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"
}

View File

@@ -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>

View File

@@ -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$"
}
]
}

View File

@@ -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>

View File

@@ -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})