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