Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/dev'
Browse files Browse the repository at this point in the history
  • Loading branch information
bpringe committed Apr 16, 2020
2 parents 6e02aa8 + e9ccd9d commit bdd4028
Show file tree
Hide file tree
Showing 36 changed files with 620 additions and 545 deletions.
12 changes: 10 additions & 2 deletions CHANGELOG.md
Expand Up @@ -4,6 +4,14 @@ Changes to Calva.

## [Unreleased]

## [2.0.92] - 2020-04-15

- [Changed all documentation links from https://calva.readthedocs.io/ to https://calva.io/](https://github.com/BetterThanTomorrow/calva/issues/604)
- Add step over, step into, and step out debugger features
- Add annotations for debugging to show debug values as the cursor moves to each breakpoint
- Fix debugger disconnect to show quit value instead of cider-nrepl exception
- Use visible editor if one exists with code being debugged, instead of opening a new one

## [2.0.91] - 2020-04-07
- [Add debugger](https://github.com/BetterThanTomorrow/calva/issues/469)

Expand All @@ -28,7 +36,7 @@ Changes to Calva.

## [2.0.84] - 2020-03-15
- [Support projects using lein-shadow](https://github.com/BetterThanTomorrow/calva/issues/585)
- [Add documentation for how to use Calva with Luminus](https://calva.readthedocs.io/en/latest/luminus.html)
- [Add documentation for how to use Calva with Luminus](https://calva.io/luminus/)

## [2.0.83] - 2020-03-13
- When format config fails to parse, fall back on defaults rather than crash
Expand Down Expand Up @@ -126,7 +134,7 @@ Changes to Calva.
- Fix: [Tokenization errors with quotes, derefs, etcetera](https://github.com/BetterThanTomorrow/calva/issues/467)
- Fix: [Glitch in current form highlight in the REPL window when cursor is to the right of a form](https://github.com/BetterThanTomorrow/calva/issues/472)
- Now using the same Paredit implementation for the editor as for the REPL Window.
- A much more complete set of Paredit commands, and [all documented](https://calva.readthedocs.io/en/latest/paredit.html), in beautiful GIF animations.
- A much more complete set of Paredit commands, and [all documented](https://calva.io/paredit/), in beautiful GIF animations.
- List based Paredit commands work on strings as well. (Limited by that strings don't have sub lists/strings).
- Lots of fixes for Paredit commands.
- Fix: [Paredit not activated until focused moved from and back to the editor again](https://github.com/BetterThanTomorrow/calva/issues/454)
Expand Down
22 changes: 11 additions & 11 deletions README.md
Expand Up @@ -4,17 +4,17 @@

_Distilled from [CIDER](https://cider.mx/)*._

Welcome to [Calva](https://marketplace.visualstudio.com/items?itemName=betterthantomorrow.calva), an integrated REPL powered environment for enjoyable and productive [Clojure](https://clojure.org) and [ClojureScript](https://clojurescript.org) in [Visual Studio Code](https://code.visualstudio.com). It includes inline code evaluation, [Paredit](https://calva.readthedocs.io/en/latest/paredit.html), a Clojure formatter, a test runner, Clojure syntax highlighting, and more. Most of the REPL power is harvested from the produce of [The Orchard](https://github.com/clojure-emacs/orchard).
Welcome to [Calva](https://marketplace.visualstudio.com/items?itemName=betterthantomorrow.calva), an integrated REPL powered environment for enjoyable and productive [Clojure](https://clojure.org) and [ClojureScript](https://clojurescript.org) in [Visual Studio Code](https://code.visualstudio.com). It includes inline code evaluation, [Paredit](https://calva.io/paredit/), a Clojure formatter, a test runner, Clojure syntax highlighting, and more. Most of the REPL power is harvested from the produce of [The Orchard](https://github.com/clojure-emacs/orchard).

(*) Calva is short for Calvados, a liquid gifted to humanity from God.

## There is Documentation

Head over to https://calva.readthedocs.io/ to learn more about how to use Calva. The most important stuff would be:
Head over to https://calva.io/ to learn more about how to use Calva. The most important stuff would be:

* [Connect Calva to Your Project](https://calva.readthedocs.io/en/latest/connect.html) (TL;DR; Use **Jack in**.)
* [Quirks](https://calva.readthedocs.io/en/latest/quirks.html) (Yes, there are quirks.)
* [Paredit – a Visual Guide](https://calva.readthedocs.io/en/latest/paredit.html) (Clojure editing is for civilized people.)
* [Connect Calva to Your Project](https://calva.io/connect/) (TL;DR; Use **Jack in**.)
* [Quirks](https://calva.io/quirks/) (Yes, there are quirks.)
* [Paredit – a Visual Guide](https://calva.io/paredit/) (Clojure editing is for civilized people.)

## Why Calva?

Expand All @@ -30,7 +30,7 @@ We also hope that Calva will contribute to making it easier to pick up Clojure a

## Getting Started with Calva

Go to the [documentation](https://calva.readthedocs.io/) to find info on how to connect Calva to your project and start evaluating code and such. The documentation is built from the same repository as Calva. So if you know about workarounds or gotchas or anything that is good to know about when using Calva, please edit the appropriate page (or create a new page) by PR.
Go to the [documentation](https://calva.io/) to find info on how to connect Calva to your project and start evaluating code and such. The documentation is built from the same repository as Calva. So if you know about workarounds or gotchas or anything that is good to know about when using Calva, please edit the appropriate page (or create a new page) by PR.

## Features

Expand All @@ -40,15 +40,15 @@ Go to the [documentation](https://calva.readthedocs.io/) to find info on how to
* LISP friendly bracket matching
* Ignore form (`#_`) dimming and `(comment)` form highlighting
* Code formatting and autoindent according to https://github.com/bbatsov/clojure-style-guide
* Structural Editing (via [Paredit](https://calva.readthedocs.io/en/latest/paredit.html))
* [Linting](https://calva.readthedocs.io/en/latest/linting.html)
* Structural Editing (via [Paredit](https://calva.io/paredit/))
* [Linting](https://calva.io/linting/)
* Intellisense
* Go to / Peek at definition
* View docstrings on hover
* View function signatures on hover, including help with knowing which argument you are typing
* [Debugger](https://calva.readthedocs.io/en/latest/debugger.html)
* [Debugger](https://calva.io/debugger/)
* Support for [Clojure tools/deps](https://clojure.org/guides/deps_and_cli), [Leiningen](https://leiningen.org), [shadow-cljs](http://shadow-cljs.org), [lein-figwheel](https://github.com/bhauman/lein-figwheel), and [Figwheel Main](https://figwheel.org), and Nashorn repls. (For [Boot](https://boot-clj.com), only Connect scenarios work, there is no Jack-in yet.)
* Your [Custom Connect Sequences](https://calva.readthedocs.io/en/latest/connect-sequences.html), including fully customized CLJS REPLs.
* Your [Custom Connect Sequences](https://calva.io/connect-sequences/), including fully customized CLJS REPLs.
* Switch the CLJS REPL connection between your different CLJS builds at will.
* When editing `cljc` files, easily choose if REPL commands should go to the `clj` or `cljs` REPL by clicking the `cljc/clj[s]` indicator in the status bar.
* And more
Expand All @@ -62,7 +62,7 @@ The gif demos several more features, apart from the in-comment evaluation, like:
* signature help while typing function calls
* evaluation result display is a bit sticky (so you can examine several evaluations at once)
* there is a richer display of results in the hover of the evaluated expression. (From where you can also copy the results to the clipboard)
* some [structural editing](https://calva.readthedocs.io/en/latest/paredit.html)
* some [structural editing](https://calva.io/paredit/)

### Demo: Signature Help, while Typing

Expand Down
4 changes: 2 additions & 2 deletions assets/webview.html
Expand Up @@ -10,7 +10,7 @@
<div>
<div id="hero" class="{{hero-classes}}">
<div class="logo">
<a href="https://calva.readthedocs.io/">
<a href="https://calva.io/">
<img class="logo" src="{{logo-symbol}}" alt="Calva" title="Calva User Documentation">
</a>
</div>
Expand Down Expand Up @@ -43,7 +43,7 @@
Use <span class="code">Ctrl+Alt+C Enter</span> in the code editor to load (evaluate) the active file.
Many things do not work before that is done.
</p>
<p class="hint">See also the <a href="https://calva.readthedocs.io/">Calva User Documentation</a>.</p>
<p class="hint">See also the <a href="https://calva.io/">Calva User Documentation</a>.</p>
</div>
<div id="repl" class="repl">
</div>
Expand Down
37 changes: 17 additions & 20 deletions docs/integration.md
@@ -1,30 +1,33 @@

Description of the Calva development and release process.
# The Calva development and release process

_This is mainly for Calva maintainers. But is probably good for any [contributor](https://github.com/BetterThanTomorrow/calva/wiki/How-to-Contribute) to be familiar with. Also, feedback and tips on how to improve this process is very welcome._

## 1. Introducing Changes

Generally:

* Don't forget about `README.md`. (It might not need to be updated, but anyway.)
* If a change warrants updates to `CHANGELOG.md`, put these under `[Unreleased]`.
* If a change warrants updates the the [Calva wiki](https://github.com/BetterThanTomorrow/calva/wiki/How-to-Contribute), make those changes in a branch of the [wiki repo](https://github.com/BetterThanTomorrow/calva.wiki.git), with the same name as your feature branch.
* If a change warrants updates the the [Calva User Guide](https://github.com/BetterThanTomorrow/calva-docs), make those changes in a branch with the same name as your feature branch in the `calva` repo.

Bigger changes:

* These go into a `wip` branch and we send PR’s asking for feedback.
* We keep `wip` branches updated by merging `dev` onto them often.
* Circle-CI runs tests and builds a VSIX package for any commits pushed to a PR. Follow the links to the build to find the VSIX (the **Artifact** tab).
* Consider asking for help testing in `#calva` and wherever.

Smaller changes:
* Small, low-risky, fixes, we do right on `dev`

* Small, low-risky, fixes, you can do right on `dev`
* Before committing on `dev` one has to ask: _should this be branched out to a `wip` branch?_

## 2. Prepare for Including the Change in the Next Published Calva

1. When a PR looks good
1. Make sure the PR is directed at `dev``
1. Merge the PR.
1. Click the **Delete branch** button that Github offers.
1. Click the **Delete branch** button that Github offers (when it's not from a fork, that is).
1. Consider if `README.md` needs update.
1. Commit with a message like: ”Add feature: **Short Release Description Title**"
1. Consider if there should be a prerelease made of this. If so:
Expand All @@ -35,40 +38,34 @@ Smaller changes:
1. Download this VSIX post on #calva asking for help testing it. Attaching the `[Unreleased]` CHANGELOG entry is an easy way to let people know what is new.


## 3. Publishing a New Calva version
## 3. Publishing a New Calva Version

When a VSIX is good enough for release, and someone authorized to commit to the `master` branch has _at least half an hour of spare time_, the following will bring it to the Marketplace:

1. Checkout `dev`
1. Add the CHANGELOG entries from `[Unreleased]`, **NB** No newline between the header and the entries.
1. Add the CHANGELOG entries from `[Unreleased]`, **NB** There should be no newline between the header and the entries.
1. Commit.
1. Tag with `v<VERSION>` (must provide tag message)
1. Tag with `v<VERSION>` (and you must provide a tag message, else the CI pipeline won't pick it up correctly)
1. Push `dev` (Using `--follow-tags`).
* This will build the release VSIX, push a release to GitHub, and publish it on the extension Marketplace.
* You'll get an e-mail when it is published.
* This will build the release VSIX, push a release to GitHub, and publish it on the extension Marketplace + `open-vsx.org`.
* You'll get an e-mail when it is published. (Or maybe only @pez gets that, not sure).
1. When the new version is live, immediately install it and see that it works.
* If the Marketplace version works:
1. Merge `dev` onto `master` (`--no-ff`)
1. Merge `dev` onto `master`
1. Push
1. Checkout `dev` and `$ npm run bump-version`
1. Commit with this message: "`Bring on version: `v<NEW_VERSION>`! `[skip ci]`”.
1. Push.
* If the Marketplace version does not work:
1. Install the artifact from the release build and test it.
* If this works, then something in Microsoft's publish pipeline has broken the extension. This has happened (once) before. To retry again you need to build a new VSIX with a bumped version:
* If this works, then something in Microsoft's publish pipeline has broken the extension. This has happened (a few times) before. To retry again you need to build a new VSIX with a bumped version:
1. `$ npm run bump-version`.
1. Push.
* If the artifact doesn't work (we should never be here).
1. ???

## 4. Updating README.md (and other docs) after publishing

Sometimes we need to update the documentation contained in the Calva repo, such as `README.md`, of the published extension, w/o publishing a new version. There are basically two scenarios:
Sometimes we need to update the documentation contained in the Calva repo, such as `README.md`, of the published extension, w/o publishing a new version.

1. `dev`'s versions of the documentation files reflect what is published (sans the change you want to make).
1. Make the changes on `dev`, commit with `[skip ci]` in the commit message, and push.
1. Move `master` to point at `dev`: `git checkout -B master`, and push.
1. `dev` has updated versions of the files that reflects _coming_ functionality.
1. Checkout master w/o the `-B` flag.
1. Make the changes, commit with `[skip ci]` in the commit message, and push.
1. Make the changes on `dev` as well (if applicable). Merge, or whatever method seems most appropriate.
Make the changes on `master` and cherry pick back on `dev`.
2 changes: 1 addition & 1 deletion docs/readthedocs/source/commands-top10.md
Expand Up @@ -2,7 +2,7 @@

## Calva Doccumentation has Moved

https://calva.io
[calva.io](https://calva.io)

# The Top 10 Calva Commands

Expand Down
2 changes: 1 addition & 1 deletion docs/readthedocs/source/connect-sequences.md
Expand Up @@ -2,7 +2,7 @@

## Calva Doccumentation has Moved

https://calva.io
[calva.io](https://calva.io)

# REPL Jack-in and Connection Sequences

Expand Down
2 changes: 1 addition & 1 deletion docs/readthedocs/source/connect.md
Expand Up @@ -2,7 +2,7 @@

## Calva Doccumentation has Moved

https://calva.io
[calva.io](https://calva.io)

# Connect Calva to Your Project

Expand Down
2 changes: 1 addition & 1 deletion docs/readthedocs/source/custom-commands.md
Expand Up @@ -2,7 +2,7 @@

## Calva Doccumentation has Moved

https://calva.io
[calva.io](https://calva.io)

# Running Custom REPL Commands

Expand Down
2 changes: 1 addition & 1 deletion docs/readthedocs/source/customizing.md
Expand Up @@ -2,7 +2,7 @@

## Calva Doccumentation has Moved

https://calva.io
[calva.io](https://calva.io)

# Customizing Calva

Expand Down
2 changes: 1 addition & 1 deletion docs/readthedocs/source/debugger.md
Expand Up @@ -2,7 +2,7 @@

## Calva Doccumentation has Moved

https://calva.io
[calva.io](https://calva.io)

# Debugger

Expand Down
2 changes: 1 addition & 1 deletion docs/readthedocs/source/emacs-keybindings.md
Expand Up @@ -2,7 +2,7 @@

## Calva Doccumentation has Moved

https://calva.io
[calva.io](https://calva.io)

# Emacs Keybindings
Some keybindings to make it easier for Emacs users
Expand Down
2 changes: 1 addition & 1 deletion docs/readthedocs/source/eval-tips.md
Expand Up @@ -2,7 +2,7 @@

## Calva Doccumentation has Moved

https://calva.io
[calva.io](https://calva.io)

# Code Evaluation Tips

Expand Down
2 changes: 1 addition & 1 deletion docs/readthedocs/source/finding-commands.md
Expand Up @@ -2,7 +2,7 @@

## Calva Doccumentation has Moved

https://calva.io
[calva.io](https://calva.io)

# Finding Calva Commands

Expand Down
2 changes: 1 addition & 1 deletion docs/readthedocs/source/formatting.md
Expand Up @@ -2,7 +2,7 @@

## Calva Doccumentation has Moved

https://calva.io
[calva.io](https://calva.io)

# Formatting

Expand Down
2 changes: 1 addition & 1 deletion docs/readthedocs/source/index.md
Expand Up @@ -2,7 +2,7 @@

## Calva Doccumentation has Moved

https://calva.io
[calva.io](https://calva.io)

# Home

Expand Down
8 changes: 4 additions & 4 deletions docs/readthedocs/source/jack-in-guide.md
Expand Up @@ -2,7 +2,7 @@

## Calva Doccumentation has Moved

https://calva.io
[calva.io](https://calva.io)

# Learn about Calva Jack-in

Expand Down Expand Up @@ -69,7 +69,7 @@ When the port file is created, Calva picks up the port number from it and connec

## Starting Your Clojure App

Once you have the Clojure REPL connected you can start your Clojure app/server. See [Custom Connect Sequences](connect-sequences.md) for how to let Calva do this for you automatically. See the same article for ways to automate more of the Jack-in process. It can be brought down to a single **Jack-In** command, even for a full stack Clojure and ClojureScript application.
Once you have the Clojure REPL connected you can start your Clojure app/server. See [Custom Connect Sequences](connect-sequences) for how to let Calva do this for you automatically. See the same article for ways to automate more of the Jack-in process. It can be brought down to a single **Jack-In** command, even for a full stack Clojure and ClojureScript application.

## ClojureScript

Expand Down Expand Up @@ -103,7 +103,7 @@ What Calva does instead is to monitor the output of the commands it uses for sta

Meanwhile, Calva is monitoring the output and when it sees that the app is started, it continues to hook up the REPL connection to the editor.

This whole connection sequence is quite configurable, using [Custom Connect Sequences](connect-sequences.md). In fact, Calva's built in ClojureScript sequences (Figwheel Main, lein-figwheel, shadow-cljs, and Nashorn) are all built using those same settings mechanisms.
This whole connection sequence is quite configurable, using [Custom Connect Sequences](connect-sequences). In fact, Calva's built in ClojureScript sequences (Figwheel Main, lein-figwheel, shadow-cljs, and Nashorn) are all built using those same settings mechanisms.

#### shadow-cljs is Less Managed by Calva
**NB:** The managed way in which Calva creates and connects the ClojureScript REPL breaks apart a bit for shadow-cljs, which works a bit differently and also outputs most of the information Calva is looking for on the `stdout` of the REPL start command (where Calva can't see it, remember?). We'll figure out a better way to support shadow-cljs, but for now, the user needs to do more of this figuring out, than is needed with Figwheel projects.
Expand Down Expand Up @@ -146,4 +146,4 @@ There, you now know all there is to know about Calva Jack-in.

Just kidding, there are a few more details to it, some of which might find their way into this article at a later time.

To really get to know it all, you will need to spend some time with the Calva Jack-In code. Head over to the [Calva Development Wiki](https://github.com/BetterThanTomorrow/calva/wiki) to learn how to hack on Calva.
To really get to know it all, you will need to spend some time with the Calva Jack-In code. Head over to the [Calva Development Wiki](https://github.com/BetterThanTomorrow/calva/wiki) to learn how to hack on Calva.
2 changes: 1 addition & 1 deletion docs/readthedocs/source/linting.md
Expand Up @@ -2,7 +2,7 @@

## Calva Doccumentation has Moved

https://calva.io
[calva.io](https://calva.io)

# Linting

Expand Down
2 changes: 1 addition & 1 deletion docs/readthedocs/source/luminus.md
Expand Up @@ -2,7 +2,7 @@

## Calva Doccumentation has Moved

https://calva.io
[calva.io](https://calva.io)

# How to Use Calva with Luminus

Expand Down
2 changes: 1 addition & 1 deletion docs/readthedocs/source/paredit.md
Expand Up @@ -2,7 +2,7 @@

## Calva Doccumentation has Moved

https://calva.io
[calva.io/paredit](https://calva.io/paredit)

# Paredit – a Visual Guide

Expand Down
2 changes: 1 addition & 1 deletion docs/readthedocs/source/pprint.md
Expand Up @@ -2,7 +2,7 @@

## Calva Doccumentation has Moved

https://calva.io
[calva.io](https://calva.io)

# Pretty Printing

Expand Down
2 changes: 1 addition & 1 deletion docs/readthedocs/source/quirks.md
Expand Up @@ -2,7 +2,7 @@

## Calva Doccumentation has Moved

https://calva.io
[calva.io](https://calva.io)

# Quirks

Expand Down
2 changes: 1 addition & 1 deletion docs/readthedocs/source/rebl.md
Expand Up @@ -2,7 +2,7 @@

## Calva Doccumentation has Moved

https://calva.io
[calva.io](https://calva.io)

# How to Use Calva and REBL Together

Expand Down
2 changes: 1 addition & 1 deletion docs/readthedocs/source/remote-development.md
Expand Up @@ -2,7 +2,7 @@

## Calva Doccumentation has Moved

https://calva.io
[calva.io](https://calva.io)

# Using Calva with Remote Development

Expand Down

0 comments on commit bdd4028

Please sign in to comment.