Forked from jamesmacaulay/Clojure.sublime-settings
Last active
August 29, 2015 14:08
-
-
Save jirkapenzes/f877d89eb8d51af85c93 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Show hidden characters
// installed Clojure packages: | |
// | |
// * BracketHighlighter | |
// * lispindent | |
// * SublimeREPL | |
// * sublime-paredit | |
{ | |
"word_separators": "/\\()\"',;!@$%^&|+=[]{}`~?", | |
"paredit_enabled": true, | |
"paredit_dont_match_single_quotes": true | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# ClojureHelpers.py for Sublime Text 3 | |
# originally by James MacCaulley | |
# https://gist.github.com/jamesmacaulay/5457344 | |
import re | |
import sublime | |
import sublime_plugin | |
import SublimeREPL.sublimerepl | |
import SublimeREPL.text_transfer | |
class RefreshNamespacesInReplCommand(SublimeREPL.text_transfer.ReplTransferCurrent): | |
def run(self, edit): | |
text = "(clojure.tools.namespace.repl/refresh)" | |
self.view.window().run_command("repl_send", {"external_id": self.repl_external_id(), "text": text}) | |
class SwitchToCurrentNamespaceInReplCommand(SublimeREPL.text_transfer.ReplTransferCurrent): | |
def run(self, edit): | |
if SublimeREPL.sublimerepl.manager.repl_view(self.view): | |
return | |
ns = re.sub("ns\s*", "", self.view.substr(self.view.find("ns\s*\S+",0))) | |
text = "(in-ns '" + ns + ")" | |
self.view.window().run_command("repl_send", {"external_id": self.repl_external_id(), "text": text}) | |
class RunAllClojureTestsFromProjectInReplCommand(SublimeREPL.text_transfer.ReplTransferCurrent): | |
def run(self, edit): | |
form = "(do (clojure.tools.namespace.repl/refresh) (apply clojure.test/run-tests (clojure.tools.namespace.find/find-namespaces-in-dir (clojure.java.io/file \"test\"))))" | |
self.view.window().run_command("refresh_namespaces_in_repl") | |
self.view.window().run_command("repl_send", {"external_id": self.repl_external_id(), "text": form}) | |
class RunClojureTestsFromCurrentNamespaceInReplCommand(SublimeREPL.text_transfer.ReplTransferCurrent): | |
def run(self, edit): | |
if SublimeREPL.sublimerepl.manager.repl_view(self.view): | |
return | |
ns = re.sub("ns\s*", "", self.view.substr(self.view.find("ns\s*\S+",0))) | |
default_test_ns = re.sub("(.*)(?<!-test)\\Z","\\1-test", ns, 1) | |
alt_style_test_ns = re.sub("\A([^\\.]*\\.)(?!test)","\\1test.", ns, 1) | |
form = "(try (clojure.test/run-tests '" + default_test_ns + ")\n (catch Exception e\n (clojure.test/run-tests '" + alt_style_test_ns + ")))" | |
self.view.window().run_command("refresh_namespaces_in_repl") | |
self.view.window().run_command("repl_send", {"external_id": self.repl_external_id(), "text": form}) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[ | |
{ "keys": ["escape"], "command": "auto_complete", "context": | |
[ | |
{ "key": "auto_complete_visible", "operator": "equal", "operand": false }, | |
{ "key": "overlay_visible", "operator": "equal", "operand": false }, | |
{ "key": "panel_visible", "operator": "equal", "operand": false }, | |
{ "key": "num_selections", "operator": "equal", "operand": 1 } | |
] | |
}, | |
{ "keys": ["super+shift+t"], "command": "reopen_last_file" }, | |
{ "keys": ["ctrl+super+r"], "command": "reveal_in_side_bar" }, | |
// SublimeREPL bindings: | |
// ===================== | |
{ "keys": ["alt+super+b"], "command": "repl_transfer_current", "args": {"scope": "block"}}, | |
{ "keys": ["alt+super+r"], "command": "refresh_namespaces_in_repl"}, | |
{ "keys": ["alt+super+i"], "command": "switch_to_current_namespace_in_repl"}, | |
{ "keys": ["alt+super+x"], "command": "run_clojure_tests_from_current_namespace_in_repl"}, | |
{ "keys": ["alt+super+a"], "command": "run_all_clojure_tests_from_project_in_repl"}, | |
// BracketHighlighter bindings: | |
// =========================== | |
// Swap bracket type | |
{ "keys": ["ctrl+shift+]"], | |
"command": "swap_brackets"}, | |
// Swap quotes (only goes boths ways in supported languages...) | |
{ "keys": ["ctrl+shift+'"], | |
"command": "bh_key", "args": {"lines" : true, "plugin": {"type": ["single_quote", "double_quote", "py_single_quote", "py_double_quote"], "command": "bh_modules.swapquotes"} }}, | |
// Select text between brackets | |
{ "keys": ["ctrl+alt+a"], | |
"command": "bh_key", "args": {"lines" : true, "plugin": {"type": ["__all__"], "command": "bh_modules.bracketselect"} } }, | |
// Select tag name of HTML/XML tag (both opening name and closing) | |
{ "keys": ["ctrl+alt+t"], | |
"command": "bh_key", "args": {"plugin": {"type": ["cfml", "html", "angle"], "command": "bh_modules.tagnameselect"} } }, | |
// Toggle high visibility mode | |
{ "keys": ["alt+super+="], | |
"command": "bh_toggle_high_visibility"}, | |
// sublime-paredit fixes: | |
// ====================== | |
// Don't constrain close-parens unless we're in paredit mode: | |
{ "keys": [")"], "command": "insert_snippet", "args": {"contents": ")"}, "context": | |
[{ "key": "setting.paredit_enabled", "operator": "equal", "operand": false }]}, | |
{ "keys": [")"], "command": "run_macro_file", "args": {"file": "Packages/sublime-paredit/Paredit Closing Bracket.sublime-macro_"}, "context": | |
[{ "key": "setting.paredit_enabled", "operator": "equal", "operand": true }]}, | |
{ "keys": [")"], "command": "move", "args": {"by": "characters", "forward": true}, "context": | |
[ | |
{ "key": "setting.auto_match_enabled", "operator": "equal", "operand": true }, | |
{ "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, | |
{ "key": "following_text", "operator": "regex_contains", "operand": "^\\)", "match_all": true } | |
] | |
} | |
] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"theme": "Flatland.sublime-theme", | |
"color_scheme": "Packages/Theme - Flatland/Flatland.tmTheme", | |
"font_face": "Inconsolata", | |
"font_size": 18.5, | |
"caret_style": "wide", | |
"highlight_line": true, | |
"match_brackets": false, // otherwise it gets confusing with BracketHighlighter installed | |
"draw_indent_guides": true, | |
"ignored_packages": ["Vintage", "PHP"], | |
"tab_size": 2, | |
"detect_indentation": false, | |
"translate_tabs_to_spaces": true | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"default_extend_env": {"PATH": "/opt/boxen/homebrew/bin:{PATH}:/usr/local/bin"} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment