All Projects → clojure-emacs → cljs-tooling

clojure-emacs / cljs-tooling

Licence: other
[DEPRECATED] Tooling support for ClojureScript

Programming Languages

clojure
4091 projects

Projects that are alternatives of or similar to cljs-tooling

Punk
A data REBL built for the web
Stars: ✭ 148 (+155.17%)
Mutual labels:  tooling
Bootboot
Dualboot your Ruby app made easy
Stars: ✭ 239 (+312.07%)
Mutual labels:  tooling
npm-completion
A @npm tab completion for @PowerShell.
Stars: ✭ 38 (-34.48%)
Mutual labels:  completion
Front End Tooling Recipes
Collection of pre-configured front-end tooling setups for common uses.
Stars: ✭ 176 (+203.45%)
Mutual labels:  tooling
Profilinggo
A quick tour (or reminder) of Go performance tools
Stars: ✭ 219 (+277.59%)
Mutual labels:  tooling
swift-watch
Watches over your Swift project's source
Stars: ✭ 43 (-25.86%)
Mutual labels:  tooling
Pony Stable
🐴 A simple dependency manager for the Pony language.
Stars: ✭ 135 (+132.76%)
Mutual labels:  tooling
gradle-dependencies-plugins-helper-plugin
This is an IntelliJ IDEA plugin for searching dependencies/plugins from JCentral/GradlePlugins inside Gradle projects.
Stars: ✭ 33 (-43.1%)
Mutual labels:  completion
Orchard
A fertile ground for Clojure tooling
Stars: ✭ 219 (+277.59%)
Mutual labels:  tooling
storybook-addon-props
React Storybook Addon to show component properties and stories into panels
Stars: ✭ 22 (-62.07%)
Mutual labels:  tooling
Tooling
🧰 Up-to-date list of JavaScript and TypeScript tooling resources
Stars: ✭ 181 (+212.07%)
Mutual labels:  tooling
Js Refactor
JS Refactoring tool for Visual Studio Code
Stars: ✭ 195 (+236.21%)
Mutual labels:  tooling
emidje
Test runner, report viewer and formatting tool for Midje within Emacs
Stars: ✭ 25 (-56.9%)
Mutual labels:  cider
Partyline
Output to Laravel's console from outside of your Command classes.
Stars: ✭ 168 (+189.66%)
Mutual labels:  tooling
Daxif
A framework for automating a lot of xRM development processses. By using simple F# script commands/files one can save a lot of time and effort during this process by using Delegates DAXIF# library.
Stars: ✭ 37 (-36.21%)
Mutual labels:  tooling
Openwhisk Devtools
Development tools for building and deploying Apache OpenWhisk
Stars: ✭ 141 (+143.1%)
Mutual labels:  tooling
Go Tooling Workshop
A workshop covering all the tools gophers use in their day to day life
Stars: ✭ 2,683 (+4525.86%)
Mutual labels:  tooling
analysis-flow
Data Analysis Workflows & Reproducibility Learning Resources
Stars: ✭ 108 (+86.21%)
Mutual labels:  tooling
docker-compose-laravel
A Docker Compose setup for Laravel projects.
Stars: ✭ 23 (-60.34%)
Mutual labels:  tooling
fish-elm-completions
Elm related completions for the friendly interactive shell
Stars: ✭ 21 (-63.79%)
Mutual labels:  completion

Continuous Integration status Dependencies Status Clojars Project cljdoc badge

cljs-tooling

DEPRECATION NOTICE: This project's functionality is now part of orchard (var info) and clj-suitable (code completion).

A Clojure library designed to provide tooling support for ClojureScript. Currently it provides var info and auto-completion based on the ClojureScript compiler state.

It is the basis for ClojureScript features in cider-nrepl (and in CIDER respectively), including source navigation and auto-completion, but is separate for the sake of test-harnesses and decoupled development.

Artifacts

With Leiningen:

 [cljs-tooling "0.3.1"]

Usage

Var info

cljs-tooling.info> (info @cljs.env/*compiler* 'go 'cljs.core.async)
=> {:ns cljs.core.async.macros
    :doc "Asynchronously executes the body, returning immediately to the\n  calling thread. Additionally, any visible calls to <!, >! and alt!/alts!\n  channel operations within the body will block (if necessary) by\n  'parking' the calling thread rather than tying up an OS thread (or\n  the only JS thread when in ClojureScript). Upon completion of the\n  operation, the body will be resumed.\n\n  Returns a channel which will receive the result of the body when\n  completed"
    :file "cljs/core/async/macros.clj"
    :column 1
    :line 4
    :name go
    :arglists ([& body])}

Completion

;; env is pulled from cljs compiler state
cljs-tooling.complete> (completions @cljs.env/*compiler* "al" 'cljs.core)
=> ("alength" "alter-meta!")

Self-host ClojureScript

Starting with version 0.3 this library is compatible with self-host ClojureScript. In order to try it out in lumo, for instance, just do:

lumo -c $(clojure -Sdeps '{:deps {cljs-tooling {:mvn/version "X.Y.Z"}}}' -Spath)
cljs.user=> (require '[cljs-tooling.complete :as ctc])
nil
cljs.user=> (ctc/completions @cljs.env/*compiler* "al" 'cljs.core)
cljs.user=> (ctc/completions @cljs.env/*compiler* "al" 'cljs.core)
=> ({:candidate "alength", :type :function, :ns cljs.core}
    {:candidate "alter-meta!", :type :function, :ns cljs.core})

Contributors

License

Copyright © 2014-2018 Gary Trakhman & contributors

Distributed under the Eclipse Public License, the same as Clojure.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].