{"id":13961407,"url":"https://github.com/tonsky/Clojure-Sublimed","last_synced_at":"2025-07-21T06:30:40.056Z","repository":{"id":39861292,"uuid":"162931622","full_name":"tonsky/Clojure-Sublimed","owner":"tonsky","description":"Clojure support for Sublime Text 4","archived":false,"fork":false,"pushed_at":"2024-11-08T17:58:59.000Z","size":6598,"stargazers_count":370,"open_issues_count":16,"forks_count":22,"subscribers_count":10,"default_branch":"master","last_synced_at":"2024-11-08T18:42:06.698Z","etag":null,"topics":["clojure","nrepl","repl","sublime-text","syntax-highlighting"],"latest_commit_sha":null,"homepage":"","language":"Clojure","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tonsky.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["tonsky"],"patreon":"tonsky"}},"created_at":"2018-12-23T23:43:07.000Z","updated_at":"2024-11-08T17:59:03.000Z","dependencies_parsed_at":"2023-02-17T23:45:36.632Z","dependency_job_id":"7b1954f2-25e1-4ca5-81a7-1631f647ed71","html_url":"https://github.com/tonsky/Clojure-Sublimed","commit_stats":null,"previous_names":[],"tags_count":51,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tonsky%2FClojure-Sublimed","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tonsky%2FClojure-Sublimed/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tonsky%2FClojure-Sublimed/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tonsky%2FClojure-Sublimed/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tonsky","download_url":"https://codeload.github.com/tonsky/Clojure-Sublimed/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":226878799,"owners_count":17696720,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["clojure","nrepl","repl","sublime-text","syntax-highlighting"],"created_at":"2024-08-08T17:01:06.947Z","updated_at":"2025-07-21T06:30:40.038Z","avatar_url":"https://github.com/tonsky.png","language":"Clojure","funding_links":["https://github.com/sponsors/tonsky","https://patreon.com/tonsky"],"categories":["Python"],"sub_categories":[],"readme":"\u003cdiv align=center\u003e\u003cimg src=\"./screenshots/logo.png\" width=\"350\"\u003e\u003c/div\u003e\n\nThis package provides Clojure support for Sublime Text and includes:\n\n- Clojure syntax\n- Color scheme\n- Code formatter/indenter\n- Clients for nREPL, Socket REPL, ShadowCLJS REPL\n\n\n# Installation\n\n`Package Control: Install Package` → `Clojure Sublimed`\n\n\n# Clojure syntax\n\n\u003cimg src=\"https://raw.github.com/tonsky/Clojure-Sublimed/master/screenshots/syntaxes.png\" width=\"710\" height=\"796\" alt=\"Syntaxes\"\u003e\n\nClojure Sublimed ships with its own syntax definition for Clojure and EDN. Unlike default Clojure syntax, our syntax can:\n\n- mark reader comments `#_` with the following form, including stacked comments,\n- mark `comment` forms,\n- mark quoted/unquoted forms,\n- mark metadata,\n- mark parentheses nesting,\n- mark and validate punctuation inside regexps,\n- do semantically correct tokenization, perfect for fonts with ligatures,\n\nHow to enable? Assign syntax to Clojure files:\n\nFor each file type (.clj, .cljs, .cljc, .edn) do:\n\n- Open any file with that extension\n- Go to menu -\u003e `View` → `Syntax` → `Open all with current extension as...`\n- Select `Clojure (Sublimed)`\n\nWant to put your parser to test? Check out [syntax_test_clojure.cljc](./test_syntax/syntax_test_clojure.cljc).\n\n\n# Color scheme\n\n\u003cimg src=\"https://raw.github.com/tonsky/Clojure-Sublimed/master/screenshots/scheme.png\" width=\"850\" height=\"508\" alt=\"Color Scheme\"\u003e\n\nTo make best use of improved syntax definitions, Clojure Submiled offers its own color scheme:\n\n- Cmd/Ctrl + Shift + P (Command Palette)\n- `UI: Select Color Scheme`\n- Select `Auto` -\u003e `Clojure Sublimed Light` -\u003e `Clojure Sublimed Dark`\n\nThese color schemes will work for other languages, too.\n\n\n# Formatter/indenter\n\nClojure Sublimed includes support for both [Better Clojure Formatting](https://tonsky.me/blog/clojurefmt/) and [cljfmt](https://github.com/weavejester/cljfmt/).\n\nBetter Clojure Formatting doesn’t require REPL connection, Clojure runtime or external tools. It is enabled by default.\n\nTo enable `cljfmt`:\n\n- Download `cljfmt` binary from `https://github.com/weavejester/cljfmt/releases/latest`\n- Add `cljfmt` to `$PATH`\n- Add `\"clojure_sublimed_formatter\": \"cljfmt\"` to `Preferences: Settings`\n\nTo reformat whole file, run `Clojure Sublimed: Reindent`. If you have non-empty selection, it will only reformat selected lines.\n\nTo enable reindenting/formatting on save, add `\"clojure_sublimed_format_on_save\": true` to `Preferences: Settings`.\n\nTo enable correct indentations as you type code, rebind `Enter` to `Clojure Sublimed: Insert Newline`:\n\n```\n{\"keys\":    [\"enter\"],\n \"command\": \"clojure_sublimed_insert_newline\",\n \"context\": [{\"key\": \"selector\", \"operator\": \"equal\", \"operand\": \"source.edn | source.clojure\"},\n             {\"key\": \"auto_complete_visible\", \"operator\": \"equal\", \"operand\": false},\n             {\"key\": \"panel_has_focus\", \"operator\": \"equal\", \"operand\": false}]}\n```\n\nIndent will fix indentation, but will not create new lines. To format a completely unformatted source, use `Pretty-print selection` command:\n\n\u003cimg src=\"https://raw.github.com/tonsky/Clojure-Sublimed/master/screenshots/pretty_print.gif\" width=\"830\" height=\"550\" alt=\"Pretty print\"\u003e\n\n\n# Toggle comment command\n\nThere are three types of comment in Clojure:\n\n- Line comments `;;` are intended for textual / unstructured comments about code\n- Reader discard form `#_` is intended for temporarily disabling parts of code\n- `comment` form for coding snippets for future use\n\nBy default, Sublime will try to use `;;` because it’s most similar to other languages and is simple to implement. One can argue, however, that we disable/enable parts of the code way more often than write textual comments about them. Therefore, `#_` might work better.\n\nClojure Sublimed offer `Toggle Comment` command that can be used instead of Sublime provided one in Clojure sources. See Keymap on how to enable.\n\n# Align cursors command\n\nIf you select multiple cursors on different lines and run `Align cursors` command, Clojure Sublimed will align them in a column. Works with multiple columns, too:\n\n\u003cimg src=\"https://raw.github.com/tonsky/Clojure-Sublimed/master/screenshots/align_cursors.gif\" width=\"500\" height=\"201\" alt=\"Align cursors\"\u003e\n\n# REPL clients\n\nClojure Sublimed REPL clients enable interactive development from the comfort of your editor.\n\nPrinciples:\n\n- Minimal distraction. Display evaluation results inline.\n- Decomplected. Eval code and nothing more.\n\nFeatures:\n\n- [x] evaluate code,\n- [x] display evaluation results inline.\n- [x] display stack traces inline,\n- [x] interrupt evaluation,\n- [x] eval multiple forms at once (parallel evaluation),\n- [x] lookup symbol info,\n- [x] show evaluation time,\n- [x] bind keys to eval arbitrary code.\n\nClojure Sublimed has four REPL clients:\n\n1. Raw nREPL: no extra middlewares, could work with any nREPL server.\n2. JVM nREPL: only works with JVM server.\n3. ShadowCLJS nREPL: works with ShadowCLJS\n4. JVM Socket REPL: works with raw Socket REPL on JVM\n\nAll four support same basic features (eval, lookup, interrupt on JVM), maybe with slightly different quality of implementation.\n\nHow to choose which REPL to use?\n\n1. Are you on JVM? Use Socket REPL.\n2. On JVM and only have nREPL? Use JVM nREPL.\n3. CLJS? Use ShadowCLJS REPL.\n4. Otherwise (e.g. babashka, sci, ...) use Raw nREPL.\n\nWe intentionally excluded following features:\n\n- [ ] Autocomplete. Static analysis is much simpler and much more reliable than requiring an always-live connection to the working app.\n\nLook at [Sublime LSP](https://github.com/sublimelsp/LSP) with [Clojure LSP](https://github.com/clojure-lsp/clojure-lsp) or [SublimeLinter](https://github.com/SublimeLinter/SublimeLinter) with [clj-kondo](https://github.com/ToxicFrog/SublimeLinter-contrib-clj-kondo) if you need autocompletion.\n\n\n# How to use\n\nClojure Sublimed will not run your app for you. Use any other way, e.g.:\n\n- Separate terminal app\n- Terminus plugin\n- Sublime Executor plugin\n\nFor Clojure apps:\n\n1. Run Socket Server, e.g. with either\n\n```sh\nclj -X clojure.core.server/start-server :name repl :port 5555 :accept clojure.core.server/repl :server-daemon false\n```\n\nor\n\n```sh\nclj \"-J-Dclojure.server.repl={:port 5555 :accept clojure.core.server/repl :server-daemon false}\"\n```\n\n2. Run `Clojure Sublimed: Connect to Socket REPL` command.\n\nFor Shadow-cljs apps:\n\n1. Run `shadow-cljs watch app`. (This starts a HTTP server and an nREPL)\n2. If you are building a web-app, open the http-server url (from step 1) in the browser. This connects the shadow server to JS runtime.\n3. Run `Clojure Sublimed: Connect shadow-cljs` command.\n\nFor other nREPL apps:\n\n1. Run nREPL server.\n2. Run `Clojure Sublimed: Connect to raw nREPL` command.\n\n\n## Evaluating code from buffer\n\nFrom here you have three options:\n\n`Clojure Sublimed: Evaluate` without selection evaluates topmost form around your cursor:\n\n\u003cimg src=\"https://raw.github.com/tonsky/Clojure-Sublimed/master/screenshots/eval_topmost.png\" width=\"285\" height=\"55\" alt=\"Evaluate Topmost\"\u003e\n\n`Clojure Sublimed: Evaluate` with selection evaluates selected text:\n\n\u003cimg src=\"https://raw.github.com/tonsky/Clojure-Sublimed/master/screenshots/eval_selection.png\" width=\"283\" height=\"58\" alt=\"Evaluate Selection\"\u003e\n\n`Clojure Sublimed: Evaluate Buffer` will evaluate the entire file:\n\n\u003cimg src=\"https://raw.github.com/tonsky/Clojure-Sublimed/master/screenshots/eval_buffer.png\" width=\"416\" height=\"211\" alt=\"Evaluate Buffer\"\u003e\n\nYou don’t have to wait for one form to finish evaluating to evaluate something else. Multiple things can be executed in parallel:\n\n\u003cimg src=\"https://raw.github.com/tonsky/Clojure-Sublimed/master/screenshots/eval_parallel.gif\" width=\"353\" height=\"151\" alt=\"Evaluate in Parallel\"\u003e\n\nBy default, Clojure Sublimed will also print evaluation time if it takes more than 100 ms:\n\n\u003cimg src=\"https://raw.github.com/tonsky/Clojure-Sublimed/master/screenshots/eval_elapsed.png\" width=\"500\" height=\"139\" alt=\"Elapsed time\"\u003e\n\n\n## Copying evaluation results\n\nSometimes you want to copy evaluation result. It is recommended to rebind `Cmd+C`/`Ctrl+C` from `copy` to `sublime_clojure_copy`. This will copy evaluation result if inside evaluated region and fallback to default `copy` otherwise.\n\n\n## Interrupting\n\nIf your evaluation runs too long and you want to interrupt it, run `Clojure Sublimed: Interrupt Pending Evaluations`:\n\n\u003cimg src=\"https://raw.github.com/tonsky/Clojure-Sublimed/master/screenshots/interrupt.png\" width=\"587\" height=\"39\" alt=\"Interrupt\"\u003e\n\n\n## Opening stacktrace\n\nIf your evaluation failed, put your cursor inside failed region and run `Clojure Sublimed: Toggle Stacktrace`:\n\n\u003cimg src=\"https://raw.github.com/tonsky/Clojure-Sublimed/master/screenshots/toggle_stacktrace.png\" width=\"553\" height=\"146\" alt=\"Toggle Stacktrace\"\u003e\n\nClojure Sublimed will display stacktraces in a Clojure-friendly way. Compare with the default REPL:\n\n\u003cimg src=\"https://raw.github.com/tonsky/Clojure-Sublimed/master/screenshots/stacktraces.png\" width=\"806\" height=\"390\" alt=\"Stacktraces\"\u003e\n\n\n## Watches\n\nWatches are great alternative to debug prints: they allow you to monitor intermediate values during function execution right in the editor.\n\nThis is how they work:\n\n- Select a right-hand expression\n- Run `Clojure Sublimed: Add Watch` command\n- Now every time function is executed, for any reason, watched expressions will display values they evaluate to, in real time.\n\n![](./screenshots/watch.gif)\n\nWatches are only supported in Socket REPL.\n\n\n## Looking up symbol\n\nTo show symbol info, run `Clojure Sublimed: Toggle Symbol Info`:\n\n\u003cimg src=\"https://raw.github.com/tonsky/Clojure-Sublimed/master/screenshots/symbol_info.png\" width=\"580\" height=\"172\" alt=\"Toggle Symbol Info\"\u003e\n\nUniversal `Clojure Sublimed: Toggle Info` command acts as either `Toggle Stacktrace` or `Toggle Symbol Info`, depending on context.\n\n\n## Binding keys to eval custom code\n\nEvery project is different, and sometimes it’s convenient to run a piece of code so often you’d want it on a shortcut. It might be a namespace reload, test execution, database reconnect, linter, formatter — possibilities are endless.\n\nTo support such use cases, Clojure Sublimed allows you to bind arbitrary piece of code to a keyboard shortcut. Run `Preferences: Clojure Sublimed Key Bindings` and add something like this:\n\n```\n{\"keys\":    [\"ctrl+t\"],\n \"command\": \"clojure_sublimed_eval_code\",\n \"args\":    {\"code\": \"(clojure.test/run-all-tests)\"}}\n```\n\nThen, whenever you press \u003ckbd\u003eCtrl\u003c/kbd\u003e + \u003ckbd\u003eT\u003c/kbd\u003e, you’ll see the result in the status bar, like this:\n\n\u003cimg src=\"https://raw.github.com/tonsky/Clojure-Sublimed/master/screenshots/eval_code.png\" width=\"536\" height=\"37\" alt=\"Eval Code\"\u003e\n\nOther possible use-cases (select key combinations to your linking):\n\nOnly run tests from current namespace:\n\n```\n{\"keys\":    [\"ctrl+shift+t\"],\n \"command\": \"clojure_sublimed_eval_code\",\n \"args\":    {\"code\": \"(clojure.test/run-all-tests (re-pattern (str *ns*)))\"}}\n```\n\nReload code with [clj-reload](https://github.com/tonsky/clj-reload):\n\n```\n{\"keys\":    [\"ctrl+r\"],\n \"command\": \"clojure_sublimed_eval_code\",\n \"args\":    {\"code\": \"(clj-reload.core/reload)\"}}\n```\n\n\n## Transforming code before eval\n\nYou can also modify eval to run a transformed version of code under cursor/inside selection.\n\nFor example, this will pretty-print result of your evaluation to stdout:\n\n```\n{\"keys\":    [\"ctrl+p\"],\n \"command\": \"clojure_sublimed_eval\",\n \"args\":    {\"transform\": \"(doto %code clojure.pprint/pprint)\"}}\n```\n\n`transform` is a format string that takes selected form, formats it according to described rules and then sends resulting code to evaluation.\n\nIf you now press `ctrl+p` on a form like `(+ 1 2)`, the actual eval sent to REPL will be:\n\n```\n(doto (+ 1 2) clojure.pprint/pprint)\n```\n\nWhich will pretty-print evaluation result to stdout. This pattern might be useful for large results that don’t fit inline.\n\nWe can implement macroexpand this way:\n\n```\n{\"keys\":    [\"ctrl+e\"],\n \"command\": \"clojure_sublimed_eval\",\n \"args\":    {\"transform\": \"(macroexpand-1 '%code)\",\n             \"expand\": true}}\n```\n\nAnother use-case might be “eval to buffer”:\n\n```\n{\"keys\":    [\"ctrl+b\"],\n \"command\": \"chain\",\n \"args\":    {\n    \"commands\": [\n      [\"clojure_sublimed_eval\", {\"transform\": \"(with-open [w (clojure.java.io/writer \\\"/tmp/sublimed_output.edn\\\")] (doto %code (clojure.pprint/pprint w)))\"}],\n      [\"open_file\", {\"file\": \"/tmp/sublimed_output.edn\"}]\n    ]\n }\n}\n```\n\nEval to buffer at work:\n\n![](./screenshots/eval_to_buffer.gif)\n\nInside `transform` you can also use `%ns` (current ns) and `%symbol` (if selected form is `def`-something, it will be replaced with defined name, otherwise `nil`).\n\nThis allows us to implement “run test under cursor”:\n\n```\n{\"keys\":    [\"super+shift+t\"],\n \"command\": \"clojure_sublimed_eval\",\n \"args\":    {\"transform\": \"(clojure.test/run-test-var #'%symbol)\"}}\n```\n\nRun test under cursor at work:\n\n![](./screenshots/test_under_cursor.gif)\n\n\n## Clearing results\n\nFinally, to clear evaluation results run `Clojure Sublimed: Clear Evaluation Results`.\n\n\n## Editing settings\n\nTo edit settings, run `Preferences: Clojure Sublimed Settings` command.\n\nIf you prefer setting settings in main file, you can do so by prepending `\"clojure_sublimed_\"` to each setting name. E.g.\n\n```\n\"debug\": True,\n```\n\nin `Clojure Sublimed.sublime-settings` becomes\n\n```\n\"clojure_sublimed_debug\": True,\n```\n\nin `Preferences.sublime-settings`. Settings from `Preferences.sublime-settings` take priority.\n\n\n## Session-wide settings\n\nIt is sometimes desirable to set dynamic Clojure vars for the whole session. To do that, edit `\"eval_shared\"` setting. For example:\n\n```\n\"eval_shared\": \"(do (set! *warn-on-reflection* true) (set! *print-namespace-maps* false))\"\n```\n\nThis will be applied to every evaluation.\n\n\n# Default Key Bindings\n\nClojure Sublimed comes with no keybindings enabled by default to guarantee they won’t conflict with any other extension (Sublime Text’s limitation).\n\nThis is the recommended keymap:\n\nCommand                       | macOS                            | Windows/Linux                                   | Mnemonic\n------------------------------|----------------------------------|-------------------------------------------------| -----------------------\nEvaluate                      | \u003ckbd\u003eCtrl\u003c/kbd\u003e \u003ckbd\u003eEnter\u003c/kbd\u003e | \u003ckbd\u003eCtrl\u003c/kbd\u003e \u003ckbd\u003eAlt\u003c/kbd\u003e \u003ckbd\u003eEnter\u003c/kbd\u003e |\nEvaluate Buffer               | \u003ckbd\u003eCtrl\u003c/kbd\u003e \u003ckbd\u003eB\u003c/kbd\u003e     | \u003ckbd\u003eCtrl\u003c/kbd\u003e \u003ckbd\u003eAlt\u003c/kbd\u003e \u003ckbd\u003eB\u003c/kbd\u003e     | [B]uffer\nInterrupt Pending Evaluations | \u003ckbd\u003eCtrl\u003c/kbd\u003e \u003ckbd\u003eC\u003c/kbd\u003e     | \u003ckbd\u003eCtrl\u003c/kbd\u003e \u003ckbd\u003eAlt\u003c/kbd\u003e \u003ckbd\u003eC\u003c/kbd\u003e     | [C]ancel\nToggle Info                   | \u003ckbd\u003eCtrl\u003c/kbd\u003e \u003ckbd\u003eI\u003c/kbd\u003e     | \u003ckbd\u003eCtrl\u003c/kbd\u003e \u003ckbd\u003eAlt\u003c/kbd\u003e \u003ckbd\u003eI\u003c/kbd\u003e     | [I]nfo\nClear Evaluation Results      | \u003ckbd\u003eCtrl\u003c/kbd\u003e \u003ckbd\u003eL\u003c/kbd\u003e     | \u003ckbd\u003eCtrl\u003c/kbd\u003e \u003ckbd\u003eAlt\u003c/kbd\u003e \u003ckbd\u003eL\u003c/kbd\u003e     | c[L]ear\nCopy Evaluation Results       | \u003ckbd\u003eCommand\u003c/kbd\u003e \u003ckbd\u003eC\u003c/kbd\u003e  | \u003ckbd\u003eCtrl\u003c/kbd\u003e \u003ckbd\u003eC\u003c/kbd\u003e                    | [C]opy\nReindent Lines                | \u003ckbd\u003eCtrl\u003c/kbd\u003e \u003ckbd\u003eF\u003c/kbd\u003e | \u003ckbd\u003eCtrl\u003c/kbd\u003e \u003ckbd\u003eAlt\u003c/kbd\u003e \u003ckbd\u003eF\u003c/kbd\u003e | [F]ormat\nReindent Buffer               | \u003ckbd\u003eCtrl\u003c/kbd\u003e \u003ckbd\u003eShift\u003c/kbd\u003e \u003ckbd\u003eF\u003c/kbd\u003e | \u003ckbd\u003eCtrl\u003c/kbd\u003e \u003ckbd\u003eAlt\u003c/kbd\u003e \u003ckbd\u003eShift\u003c/kbd\u003e \u003ckbd\u003eF\u003c/kbd\u003e | Capital [F]ormat\nToggle Comment                | \u003ckbd\u003eCommand\u003c/kbd\u003e \u003ckbd\u003e/\u003c/kbd\u003e | \u003ckbd\u003eCtrl\u003c/kbd\u003e \u003ckbd\u003e/\u003c/kbd\u003e | Comment [/]\n\nTo set it up, run `Preferences: Clojure Sublimed Key Bindings` command and copy example keybindings to your local Key Bindings file.\n\n# stdout/stderr\n\nClojure Sublimed does things a little different when it comes to stdout. Normally REPL would show you all stdout/stderr that originated from your session. I find it confusing, because it doesn’t always work and you have to check two places for output. Moreover, there’s no output panel, so there’s no place to show stdout anyway.\n\nSo instead, Clojure Sublimed _does not_ redirect neither stdout nor stderr. Check original console to see what was printed there.\n\n\u003cimg src=\"https://raw.github.com/tonsky/Clojure-Sublimed/master/screenshots/stdout.png\" width=\"616\" height=\"588\" alt=\"Stdout redirect\"\u003e\n\n# Frequently Asked Questions\n\nQ: REPL/eval doesn’t work\n\nA: Make sure you are using nREPL 0.9 or later.\nA: Also check console (\u003ckbd\u003eCmd\u003c/kbd\u003e \u003ckbd\u003e\\`\u003c/kbd\u003e) for errors\n\n---\n\nQ: How to connect to [a Babashka REPL](https://book.babashka.org/#repl)?\n\nA: Use Raw nREPL.\n\n# Credits\n\nMade by [Niki Tonsky](https://twitter.com/nikitonsky).\n\nWith contributions by [Jaihindh Reddy](https://github.com/jaihindhreddy) and [KgOfHedgehogs](https://github.com/KGOH/).\n\n# See also\n\n[Writer Color Scheme](https://github.com/tonsky/sublime-scheme-writer): A color scheme optimized for long-form writing.\n\n[Alabaster Color Scheme](https://github.com/tonsky/sublime-scheme-alabaster): Minimal color scheme for coding.\n\n[Sublime Profiles](https://github.com/tonsky/sublime-profiles): Profile switcher.\n\n# License\n\n[MIT License](./LICENSE.txt)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftonsky%2FClojure-Sublimed","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftonsky%2FClojure-Sublimed","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftonsky%2FClojure-Sublimed/lists"}