Version 0.8.0.STABLE001
Release date: 2012//05/03
This version is mostly a bugfix release for Version 0.7.0.
Notably, it fixes the issue reported in version 0.7.0, wrt nRepl and Agents usage.
It also paves the way for the upcoming release of the Leiningen Integration Plugin for Eclipse.
if the 'classes' directory is missing, the builder will create it automatically, instead of complaining
Fix Issue 347 : Do not automatically create per-file durable launch configurations Fix Issue 348 : Navigate to Definition not working Fix Issue 349 : Poor error reporting on REPL launch failure by durably removing the root cause: now the REPL started is not tied to the launch of the selected file
Fix Issue 350 : REPL and code completion integration now if you type "clojure.s", trigger auto-completion, and select "clojure.select", then hitting Enter will no longer automatically send the symbol for evaluation
Version 0.7.0.STABLE001
Release date: 2012/04/12
!!! Issue !!!
nRepl runs Clojure Functions in its own agents. This may cause a disturbance if using agents in the code which is executed by nRepl. Especially if await is used to force a wait until an agent finished his operations.
If you use Agents in your Clojure Program it is better to stay with Counterclockwise 0.6.0 instead of 0.7.0, and wait for version 0.7.1, which will fix the issue.
Update site: http://ccw.cgrand.net/updatesite-betas
REPL Enhancements (thanks Chas Emerick !)
- Now uses nrepl 0.2.0
- Interrupt Evaluation command (Forcibly interrupt the currently-running evaluation for this session) (Cmd + I or Ctrl + I )
- Reading input from in (e.g. via (read-line) or (read)) will now prompt for input via an input dialog
- Don't (anymore) elide whitespace from logged data; otherwise, (println " ") yields no output
- New keybindings for MacOS for Previous/Next history command: Ctrl+P and Ctrl+N (in addition to Ctrl+UP/DOWN)
Outline view enhancements (thanks Chas Emerick !)
- Outline view now indicates private vars appropriately, and the sorting is much improved
- Fix an annoying exception in the code Outline (an IndexOutOfBoundsException caught by the outline when handing forms containing < 2 elements)
REPL bug fixes
- The "Load file" and "Switch namespace" commands are no longer notified as a message in the REPL log (fixes #256)
Editing bug fixes
- On MacOS: changed 'switch repl's namespace' back to Cmd+Alt+N (this was an error introduced in 0.6.0)
- Fix Issue 321 - Double clicking not switching between strict and default mode:
- Remove misleading indication on the status bar that clicking on it would change the mode
- Add the "Switch mode" command to the global Clojure Menu
Version 0.6.0.STABLE001
Release date: 2012/03/22
Update site: http://ccw.cgrand.net/updatesite
This is a long awaited release. It includes a bunch of changes and bug fixes, among which:
- Clojure 1.3 support both internally and externally (creating a new project includes an 1.3 clojure jar)
- Totally revamped Syntax Highlighting
Editor
- Totally revamped Syntax Highligthing : Both internally (in code), in the editor (new default theme aligned with JDT colors), and in the preferences (almost everything is customizable, even the colors of the rainbow parens!)
- Rainbow parens are now optional
- A flag in the preferences controls if they are On or Off by default
- A Keyboard shortcut enables the user to switch them On/Off at any time in the current editor ( "Ctr + (" on Windows/Linux, "Cmd + (" on Mac)
- "Smart paste": Pasting into literal Strings can take care of automatically escaping special characters for you !
- There is a preference for this, you must trigger the behaviour via the Clojure Preferences
- As usual with all advanced "strict/paredit" commands, it's possible to disable this behaviour for the next "keystroke" by hitting the Esc key before pasting
- Strict/paredit mode enhancements:
- It's easier than it's ever been to wrap a selection of text with double quotes to transform it in a String literal: just select the text, and type " (the double quote character) ( Issue 324 )
- Fix Issue 292 - quote mark will quote next line automatically & related Issues "313 - Unwanted linebreak inserted when typing ' in default editing mode" and "319 - typing quote ' inserts quote at the end of the document" and "291 - Unable to see the REPL prompt after running the REPL"
- Fix Issue 320 - weird behaviour inside String literals with paredit commands
- Fix Issue 326 - Typing backslash causes Java Heap exception
- Fix Issue 304 - Multiple "Structural Edition: X" buttons
- Enhancement of keybindings in MacOS: structural selection keyboard shortcuts were duplicate both with the Windows/Linux mapping and the MacOS mapping, thus inappropriately overriding in MacOS the default text selection mappings (Shift+Alt+[LEFT/RIGHT/UP/DOWN])
- Fix Issue 334 - Eclipse line endings conversions not working (especially annoying for cross-OS collaboration such as Linux/Windows)
- Fix Issue 335 - Other plugins cannot depend on ccw.core
Clojure Script
- Timid start of ClojureScript support by enabling the creation of ".cljs" files from the File > New Clojure namespace menu
REPL
- Code will by default be automatically sent to the REPL server as soon as the cursor is at the end of the text, and the content is valid (parseable) clojure code
- There is an option in the Preferences to disable the automatic sending and fall back to manual sending via Ctrl + Enter (Cmd + Enter on Mac)
- This fixes Issues 291, 295 related to "problems" with evaluating code from REPL
- This also fixes Issue 265 - Selecting (pb with auto-completion)
- In the top right corner of the Text Input Area, a "Hint" is displayed explaining e.g. how to Send commands to the REPL Server
- Displaying this hint is configurable via the Preferences
- Fixed Issue 286 : REPLView text components should respect font preferences (@cemerick)
Miscellaneous
nREPL URLs, such as nrepl://my.server:8932, are marked as hyperlinks inside text editors and Java console => this way you can make your program embedding nrepl dumb very easily to stdout its nrepl "URL", and by clicking on it, a nREPL client view is automatically opened.
Plugin development
To help the development of Counterclockwise itself, a new (fork, currently) version of clojure.osgi has been integrated, and utility namespaces have been created, which enable the REPL server to execute sent commands in the (classpath) context of the bundles we want.
For example, when in the REPL in ccw, calling (ccw.util.bundle-utils/set-bundle-classloadder! "ccw.core") will enable the following commands, which may e.g. try to access classes only visibile from ccw.core, work.
Version 0.5.0.STABLE002
Release date: 2011/11/06
Update site: http://ccw.cgrand.net/updatesite
This version builds on top of the previous one : corrects bugs introduced, but also adds some new enhancements/features.
Corrects following regressions introduced with 0.4.0
- Fixes #288 - can not set breakpoint in clj files
- Fixes #287 - Syntax coloration preferences page broken
REPL Enhancements/changes
- Replaced hard-coded keyboard bindings for previous/next history in REPL UI with true rebindable Eclipse Commands (currently still bound to Ctrl+Up resp. Ctrl+Down)
- Fixes #274 - Autofocus for the code completion box's root cause : hitting the Enter key does not send code for evaluation anymore. Only "Ctrl+Enter" does this now.
- Created a proper "context" for REPL commands. Practically, this means keyboard shortcut for REPL specific commands "Print Error Detail", "Clear Log", "Reconnect", "Show Console" are not active in Clojure editor anymore, which is a good thing (they were only pollution in the context of the editor)
Editor new features
- Support for ClojureScript (.cljs) files : it's just the same editor, but registered to also open .cljs files
- New 'paredit wrap quote' command : previously, if you selected a form, and hit ' (quote), the normal text edition occured: the selected text was deleted. Now, it is not deleted (typing quote is considered to be a 'wrap with quote' command)
- New 'toggle comments on selection' command : adds/removes a start-of-line-semi-colon (as does the java editor with single line java comments, e.g. //). Works with or without line selections (current line, or selected lines)
Version 0.4.0.STABLE002
Release date: 2011/10/06
Update site: http://ccw.cgrand.net/updatesite
Upgrade note: Before the version upgrade, please close your open editors. Or if you forgot to do this, no problem, just close and reopen them after seeing the error message at Eclipse restart
This version is meant to further improve the user experience wrt source code editor performance with big files.
This is thanks to improvements in paredit.clj, as well as the generalization of the usage of cgrand's excellent parsley parser library.
Indeed, this new version of CCW does not use antlr anymore. It's parsley everywhere, with its already excellent support for true incremental (not just restartable) parsing : paredit.clj uses it, syntax coloration uses it, even a specialized "Eclipse damager / repairer" (the logic which tells the text editor framework which portions of the editor to re-colorize after each change made to the source code) based on information deduced from parsley-based parse-tree.
Please also note that the current version already goes beyond what the previous one did for syntax coloration : the previous one only leveraged the "lexer" part of antlr. This new version works with a parse-tree representation of the source code, always in sync. This opens the door to new real-time interesting coloration capabilities.
The first visible feature related to the use of the parse-tree for syntax coloration is the coloration of "reader-macro commented forms" as a whole (e.g. #(foo bar) colored in red as a whole).
Also, parsley has become a total parser (thanks cgrand !) so now the editor's background should never ever turn gray : unexpected chars will be handled by parsley, and by the editor (the editor will colorize their background in red, as it already does for superfluous closing brackets).
So now for the detailed list of issues fixed / new features :
- Even when hitting newline, will the editor perform well when doing auto-indentation (editing clojure/core.clj finally becomes a pleasure!)
- Made structural selection of parent form first select all sibling children (without the parent's 'punctuation' e.g. opening / closing chars), then (if called again) select all children including parent's 'punctuation'
- #280 - Correction on the auto-indentation algorithm: interop calls (e.g. (.toString foo)) are not anymore considered "function calls". They will indent only 2 spaces.
- #45 - #_ handling in syntax highlighting
- #277 - error when opening .clj file -> (old bug in now removed antlr code)
- #281 - Literal parenthesis breaks matching parenthesis highlighting
- #284 - Conflicts with ANTLR 3.2 / Xtext 2.0.1
Version 0.3.0.STABLE001
This version is meant to drastically improve the user experience wrt source code editor performance with big files.
Internally, it's using a brand new version of parsley, the parser generator library written by cgrand.
This new version brings incremental parsing to the table, making the editor ultra-fast at recomputing new parse trees while the user is typing.
Version 0.2.1.STABLE001
This version offers better out-of-the-box compatibility with projects already using Clojure 1.3.
(fixes #258 - Upgrade bundled nREPL to 0.0.5 for Clojure 1.3.0 compatibility)
Version 0.2.0.STABLE001
To access to this version you need to uninstall a previously installed one if necessary, and then use the new updatesite located at http://ccw.cgrand.net/updatesite
Editor
- Added better auto-indentation based on heuristics (closer to what auto-indentation does in emacs & vim, trying to distinguish between functions & macros)
- Fixes #244 - error markers disappeared : the markers are there again !
- Fixes #250 - parser corner case for (') & al (when special symbols were just before closing parens, square brackets, curly brackets)
- Fixes #242 - clojure editor still dirty after having undone all changes
Clojure Application Launcher
- Fixes #248 - shortcut run/debug error conflict : you should now be able to use the shortcuts to start Clojure Apps in Run or Debug mode ("Shift+Alt+X C" in Run mode on windows/linux, "Shift+Alt+D C" in Debug mode on windows/linux)
Version 0.2.0.RC09
- Updated nrepl version to official org.clojure.tools.nrepl 0.0.4
Bugs fixed
- REPL related
- #229 - "Eliminate one-minute timeout when waiting for REPL response"
- #220: Avoid out-of-sync preference node issues when saving REPL command history + attempt to recover when a preference node is touched outside of eclipse
- #231: Stop persisting loaded file content to REPL command history prefs
- #228: Prefix evaluated expressions in REPL log with =>
- #241: Restored Navigate to definition in jar deps of a project
- #240: Key binding for "Evaluate current selection or Top Level S-Expression" defaults to cmd+enter on macs (good), also in REPL input area now.
- #239: "Run as ..." on a file with a clojure namespace now correctly initializes the REPL's current namespace
- #243: "Load file in REPL" works again if no REPL is found, and starts a new Clojure Application
- Editor related
- #191: Fixed a regression in namespace detection
- Made the parser recognize more incorrect syntax
Version 0.2.0.RC08
Bugs fixed
- Fixes #210 and #209 related to UI freeze on Eclipse startup
- Fixes #135 - ArrayIndexOutOfBoundsException on file save
- Fixes #149 - wrap s-expr works incorrectly at end-of-file
Enhancements
- Based on a suggestion by cgrand: added Ctrl+Enter as a way to send top level form or selected text to the active REPL (so it works as in the REPL input area)
Version 0.2.0.RC07
Bugs fixed
- Fixes #208 - ccw.core/src/ccw/builder/ClojureVisitor.java
- Fixes #209 - Eclipse UI deadlock
- Editor: background color restored when parser is working again
Version 0.2.0.RC6
Repl
- Add a (somewhat hidden) command for starting a repl client ('embedded') on the working Eclipse instance. Keyboard shortcut is (on Windows/Linux): 'Ctrl+Alt+Q E'
Editor commands
- Enhanced ns detection: if there's a top level in-ns, it's used
Editor grammar
- Fixes #167 - Auto-Indent Fails With Files Using CR-LF
- Fixes #193 - Return when multiple lines are selected doesn't delete the selected area
- Fixes #206 - #" adds an unexpected space
- Made a lot of special chars (meta, discard, etc.) not break paredit if they have no following expr (backed by regression tests)
- Single ' does not break paredit anymore (backed by regression test)
- Better handling of exceptional characters (e.g. not only US-ASCII works), addition of a test suite for the grammar, etc.
- Slight refactoring, correction of bug with ratios
Version 0.2.0.RC5
Builder
- corrected problem with ClojureVisitor not recognizing enough clojure libs.
- Issue #203 - Project rebuild on Clojure Application startup: temporary (Thread/sleep) related hack, to fix most of it, and try to prove a point.
Repl
- repl connexion: raised the timeout from 10s to 30s
Editor grammar
- Fixed problem with character # in keywords
- Fixed bug with wrap round and character \` (and \' btw)
- Evaluate expression: made it use the namespace of the file, not the current namespace of the REPL
Version 0.2.0.RC4
yes, no RC2, no RC3.
Editor with structural edition more reliable
- it now lets you know if it's in an "unworkable" state (grayed background, tooltip message).
- structural edition commands automatically disabled in case the editor is not able to reliably parse the source
- note that in an eventual version of ccw, we'll be able to have a parse tree in all cases, so sometimes in the future, you'll not see this grayed background anymore.
- In the mean time, this will help you feel less stressed, and also help us catch corner cases of the current parser
REPL UI improvements
- code completion
- true hyperlinks (not just F3 keyboard shortcut)
- visual matching brackets
- addition of reindent line (ctrl+alt+I) command
- Added a 'connect to embedded nrepl server' command and keyboard shortcut for the command: 'Ctrl+Alt+E R'
- made the repl acknowledgement wait progress bar smoother
- correction of all known bugs in the input area
- Additional Structural Edition commands:
- Expand selection left/right/up, and select previous structure edition commands
- Split/Join sexprs structure edition commands
- raise over parent sexpr
- Go to matching bracket
- Switch between strict/default structural edition mode (as in the editor: Alt+D, or double click on status bar message)
- REPL Connect dialog: made 127.0.0.1 the default, and put focus on the port by default
Bug fixes
- #183 - Bare colons break structured editing
- #191 - Namespace detection needs improvement
- ccw now uses the parse tree of the source code. E.G. it should successfully detect namespace name like
(ns ^{:author "Me!" :doc "
blableh
"}
^:deprecated
; some comment
my-namespace ...)
- #194 - 'Waiting for new REPL process ack' stays in the status bar
- #182 - Ratios break structured editing (in fact, now exception in structured editing results in just going back to default editing)
Version 0.2.0.RC1
New REPL support
New REPL server: clojure.tools.nrepl
- maven coordinates: org.clojure:tools.nrepl:0.0.3 (groupId=org.clojure , artifactId=tools.nrepl , version=0.0.3 ; available in maven central repo)
- Embedd it by some way in your application environment, and you'll be able to connect to it, locally or remotely.
- Automatically added for you when launching your application via "Run Clojure Application"
New REPL View
Composed of 2 Areas:
- Input area where you enter code to be sent
- Log area where code sent and REPL server answer are logged.
- REPL Input Area
- Messages sent asynchronously to server, client never hangs
- Command History Recall via Ctrl+Up/Ctrl+Down, persistent per project (up to 1000 entries).
- Syntax coloration & rainbow parens & paren matching
- Open declaration (F3)
- Structural Edition subset
- Auto-indentation, line reindentation (Tab)
- Redirection of page-up/page-down to Log Area
2. REPL Log Area
- Syntax coloration & rainbow parens
- Line highlighting/background on expressions sent for evaluation in the REPL
- Redirection of "typed" keyboard keys to the input area
3. REPL View other Commands
- Print last exception's stacktrace button and key-binding (Ctrl+J)
- Clear log view (Ctrl+K)
- Show Console
- Reconnect
4. Clojure Editor
- "Load file" command now sends the full file's content (instead of using load-file), enabling the use of ccw with remote servers
- Loading a file does not change the REPL's current namespace anymore
- New command for switching to REPL and changing its namespace as well (Ctrl+Alt+N)
- New command fo switching to REPL (without changing REPL's namespace) (Ctrl+Alt+Q R)
5. REPL View to Clojure Editor commands
- Go back to editor = Eclipse's out-of-the-box "Activate Editor" command (F12 / Cmd-F12)
6. General new features
- Connect to any local/remote nrepl server (Window > Connect to REPL)
- Run Clojure Application automatically adds clojure.tools.nrepl if not present on project's classpath
Version 0.0.64
Bugs fixed
- issue #138 : Evaluate current selection sends cursor to the REPL window
- issue #147 : keyword like :1 (colon + number)
- issue #152 : Cannot delete characters/insert new lines....
- issue #154 : literal \8 inside string literal "aaa \8 bbb" breaks grammar parser
Version 0.0.63
Bugs fixed
- issue #136 : Cannot start REPL on Eclipse 3.4
- issue #141 : Labrepl wizard does not download dependencies of labrepl project
- issue #142 : Code editor does not work with Eclipse Helios and IBM V6.0 JRE / gets a java.lang.ClassFormatError
- issue #143 : Take into account the modularization of clojure-contrib
- Miscellaneous:
- Jump to definition feature: corrected errors
- made load file in namespace command open the namespace of the file
Version 0.0.62
Bugs fixed
- corrected a bug that prevented the project's clojure JVM console to reappear should it have been previously closed
- changed the text of several commands to better reflect underlying semantics
Features added
- added the default behaviours for auto-reload mode: if Clojure VM started from the project, auto-reload is ON by default, else (started from a file, etc.) it is OFF
- Issue #119 : made "load file in Clojure VM", "load sexpr in Clojure VM", etc. start a new Clojure VM if none already exists
- Issue #43 : displays text hyperlinks for jumping to symbols declarations. Currently works with global var symbols. CCW only displays an hyperlink if the symbol is recognized. Correctly follows aliases.
- On windows/Linux, hyperlinks are usually triggered by pressing the Control key at the same time the mouse hovers a symbol's text.
Version 0.0.61
Whoops, no version 0.0.61.
Version 0.0.60
- "auto-load-on-startup" now totally uses the Clojure Builder. This implies that if the builder is disabled, this feature is disabled as well (desired behaviour).
- Now starting a Clojure JVM with selected files to load always blocks automatic load of the full project's namespaces
- Changed the label of the clojure Launch shortcut to better reflect the semantics of the command. Different label depending on the selected nodes in the project explorer (project node, or clojure file)
Version 0.0.59
Editor's Structural Editing
Features added
- Issue #110 : Migration of the editor source code parser to a new parser. Should be as stable as before, but if you encounter weird issues, please report !
- Issue #36 : Adapt s-expression selection to Clojure syntax.
- Issue #117 : create a configuration parameter for tab-as-indent-line (true by default)
- Now, you can configure the behavior of the Tab key. By default, it's purpose is to reindent the current line, wherever the cursor currently is in the current line. If you don't like this behaviour, you can disable it via Window > Preferences > Clojure > Editor
- Note that the keyboard shortcut Ctrl+I always works for reindenting the current line
- Issue #116 : Make esc. behave as an escape key for paredit. When you type the Escape Key, the next typed key will never be interpreted specially by the editor (e.g. allows you to add this damn closing paren the editor would maybe not enable you to enter otherwise in the Strict mode)
- Issue #118 : Now in "default structure edition mode", typing an opening paren/square bracket/curlybracket does not add the closing counterpart anymore
- Issue 123 : editor: remove open-[round|square|curly] command from the default structural editing mode
Bugs fixed
- Issue #127 : file ending with single line comment does not work with paredit
- Issue #114 : Paredit deleted some lines when tab is pressed
Editor miscellaneous
Bugs fixed
- Issue #101 : Error when opening the clojure editor (pb with the IBM jdk). Tentatively corrects the weird "java.lang.ClassFormatError: JVMCFRE114 field name is invalid;" error by upgrading ccw to clojure 1.2-beta1 which is known to have corrected the bug
- Issue #112 : problem markers now work for any project with any number of declared source folders
Builder / REPL
Bugs fixed
- Issue #7 : Namespace with :gen-class is not precompiled.
- Now, everytime a configuration/REPL for the project is launched, the project files are AOT compiled
- Before solving this issue, when a configuration/REPL for the project was launched, the project files were not AOT compiled until the first time the user would save a file
- Issue #105 : Ctrl-alt-l shortcut in gnome is map to Lock Screen
- now on Linux/GTK, the default is Ctrl+Alt+S, and it's also possible to use Ctrl+Alt+S on Windows, so that Linux/GTK users can use it
consistently when they are forced to work on Windows.
- Issue #111 : problem while stepping in clojure files, problem opening clojure files
- Issue #115 : remove backdoor runtime dep on clojure contrib. Now you're not supposed anymore to have clojure-contrib as a project's dependency to be able to start a REPL.
! ! New Feature ! ! Labrepl Plugin ! ! (experimental support, feedback welcome)
- Issue #87 : Provide a labrepl plugin. Thanks again Stephan Mühlstrasser for writing this invaluable extension !
- To try it:
- You must install feature "Counterclockwise Examples Feature" from the Counterclockwise Update site
- then, File > New ... > Example ... > Counterclockwise Examples > Create Labrepl Project
- Get more help in the inline documentation: Help > Help contents > Counterclockwise Plugin > Getting Started > Create labrepl Project
Version 0.0.58
Bugs fixed
- Issue #6 : tried a fix for removing the problem at the source. The idea is to always place the source folders first in the runtime classpath list, so that
- the REPL always sees up-to-date source files (be the Clojure Builder be placed before or after the Java Builder)
- the REPL and the Java Builder do not work on the same files in the output folders (with this fix, the REPL should never work with the output folders, but rather directly with source folders)
- Issue #93 : Code completion (minor enhancement) rearranged a bit:
- clojure completions comes first in the list
- java completion lists limited to the first 50 matches
- java completion requires 4 characters at least to be started
- those last 2 points will hopefully limit the "hang" of code completion when finding java methods
Version 0.0.57
Bugs fixed
- Issue #86 : Project setup should not create absolute pathnames for Clojure JAR files in .classpath (thanks Stephan !)
- Issue #89 : Update syntax coloring for ^String et al.
Features added
- Structural Edition mode
- New name of what was called "paredit" (in reference to the famous emacs mode, but not so famous among Eclipse users)
- 2 modes: the "default one", which does not get in the way of people, and the "strict one", which requires more knowledge of the commands, but does its best to keep your document parseable.
- The current mode is visible in the status bar.
- By default, the "Default mode" is set. It's modifiable via Global clojure preferences
- In each clojure source file editor, you can toggle between Default/Strict mode by
- new keyboard shortcut Alt+D (D as "Default Structural Edition" ...)
- contextual menu entry
- by clicking on the status bar report for the current mode
- Structural Edition mode Eclipse Help
- The Eclipse help reference page for all the possibilities of the editor (including structural edition mode) has been updated
- You can invoke it via "classic" Eclipse dynamic help activation (F1 on Windows, Ctrl+F1 on Linux/GTK, Help on Mac)
- Mac keyboard shortcut bindings enhancements
- They have been enhanced and are visible in the reference page for the Editor
- Editor outline
- Add alphabetical sorter in the outline (thanks Nicolas Lambert !)
Version 0.0.56
Bugs fixed
- Issue #55 : Stack overflow in "Run as Clojure REPL" (when a clojure file was incorrectly set in the project's root folder)
- Issue #76 : ccw prevents setting of breakpoints in CDT
- Issue #81 : On Eclipse Helios, "Could not initialize class ccw.editors.antlrbased.ExpandSelectionUpAction"
- Issue #83 : problem with the "Expand Selection" contextual menu
- Issue #84 : broken paredit-split-sexp test "(defn hello |world)"
Features added
- Paredit : Issue #77 : paredit join forms : Place the cursor between 2 sibling forms. Hit Alt + J : the forms will be joined.
Version 0.0.55
Bugs fixed
- Paredit: some behavioral problems corrections (some NPE on limit cases, some corner cases)
- "Evaluate current selection to REPL action": in fact it was already present via the "Evaluate top level sexpression", which has been renamed "Evaluate current selection or top level sexpr" to make the feature clearer
Features added
- Paredit: added feature to raise a form over its parent form. Keyboard shortcut = Alt+R (R as in "Raise" in english or "Rehausser" in french)
- Paredit: added feature to split a form. Keyboard shortcut = Alt+S (S as in "Split" in english or "Separer" in french). Works for splitting strings, too.
Version 0.0.54
Bugs fixed
- Paredit: Corrected some bugs when wrapping form inside another form
- Syntax coloring with dark backgrounds : fixed #71 - "The Clojure editor will now honor the settings for foreground and background colors and selection foreground and background colors from the "General"->"Text Editors" preferences." (Thanks to Stephan Mühlstrasser)
- Problems cleaning projects: try to better handle project/clean problems on windows (experimental, feedback welcome grmlml ;-) )
Features added
- Paredit: structural selection (same keyboard shortcut as for java editing). E.g. on Linux/Windows
- Shift+Alt+"Up Arrow" => expand selection to enclosing form,
- Shift+Alt+"Left Arrow" => expand selection to sibling form on the left (or, if no sibling form on the left, to the enclosing form)
- Shift+Alt+"Right Arrow" => expand selection to sibling form on the right (or, if no sibling form on the right, to the enclosing form)
- Shift+Alt+"Down Arrow" => restore previous selection
Version 0.0.53
No release named 0.0.53
Version 0.0.52
Bugs fixed
- Problem with the clojure contextual menu reported by Stephan
Features added
- Paredit: possibility to wrap selections with parens, square brackets or curly brackets, just by hitting the corresponding keys while selection active : '(' '[' or '{'
Version 0.0.51
Bugs fixed
- fixes 2 paredit problems
- when the parse tree was incorrected, sometimes text was removed (ouch)
- was unable to correctly handle newlines at the very end of the file
Version 0.0.50
Bugs fixed
- mainly some bugs in paredit's parser
Features added
- auto-indentation (at last !)
- line re-indentation: just hit the tab key (wherever in a line), and the line will be reindented
And Lot of new features contributed by Tuomas Karkkainen:
- Expand selection to enclosing element
- Same keyboard shortcut as the one for java (e.g. Shift+Alt+Up on Linux)
- Same word highlighting (only for words that are not already colorized or "fontified")
- Run Tests keyboard shortcut
- Hit Ctrl + T for automatic all of (run-tests) for namespace declared by editor, or namespace with same prefix as namespae declared by editor and ending with -test
- Change repl background color to red, green or yellow (doesn't compile), based on the results
- Keyboard shortcut for quickly launching a REPL from a file or from the opened file
- follows eclipse conventions, e.g. Shift+Alt+X C for running clojure REPL, Shift+Alt+D C for launching clojure REPL in debug mode
- Open definition in an editor via F3
- Hyperlinks in REPL StackTraces
- For ccw developers: possibility to reload counterclockwise clojure code from within a launched dev target
- Following the convention on "launching things" : Shift+Alt+X R (R as in "Reload")
- REPL will automatically make itself visible in context
- e.g. if you try a command that needs to execute in the REPL, the REPL will become visible in the console, and the console will become the visible View in its folder
Other changes:
- Namespace browser
- Lighter namespace browser: removed the checkboxes. The search always works on var name and var docstring from now on.
- Namespace browser now also filters on namespace documentation and names. And empty namespaces are totally removed from the filtered tree
Version 0.0.49
Bugs fixed
- Paredit: fixed some weird behaviors (too many spaces inserted, inability to insert a closing paren/[square|curly]bracket in a literal string.
Version 0.0.48
Features added
- Paredit like functionality
- paredit can be enabled / disabled via a global option via clojure's global preferences (Menu Window > Preferences > Clojure > Editor)
- The following commands are already implemented : :paredit-open-round, :paredit-open-square, :paredit-open-curly, :paredit-close-round, :paredit-close-square, :paredit-close-curly, :paredit-doublequote
Bugs fixed
- Issue #51 : paren Literal chars breaking matching pairs ...
- Issue #54 : Compatibility to Clojure 1.1
- Issue #50 : bracket matching to handle literal chars correctly
- Issue #46 : keyboard shortcut for switch forth and back editor / REPL
- Ctrl+F6 to switch between editors
- Ctrl+F7 to give focus between current editor and other views
Version 0.0.43
Bugs fixed
- Issue #40 : Source Lookup fails for .clj files
- Issue #41 : Evil string compare bug in ClojureLineBreakpointAdapter when file has no extension
- Issue #47 : Activate "org.eclipse.ui.textEditorScope" context in ccw.console.ConsolePageParticipant (purely technical)
Features added
- Namespace browser
- Resolved problem with namespace browser which sometimes failed to correctly initialize. From an initial patch by Gorsal (thanks!)
- Source code editor:
- Made highlight matching bracket work with cursor before or after bracket
Version 0.0.42
Bugs fixed
- Issue #39 : Clojure Editor misparses regex with special character
- Issue with literal metadata
Version 0.0.41
Bugs fixed
- Correction of bug preventing the loading of the files when launching the REPL
Version 0.0.40
Features added
- DEBUG plugin :
- Trying to add ability to set breakpoints on clj files that are in the attached src jars of clojure libraries
- made breakpoints markers work inside jars
- added ability to load files from zip source archives attached to libraries
- Change when creating a new project:
- When creating a new clojure project, 4 files are added to the root of the project : clojure.jar, clojure-src.jar, clojure-contrib.jar, clojure-contrib-src.jar (instead of making the project depend on the -somewhat- volatile versions of clojure & clojure-contrib used internally by ccw
Bugs fixed
- Issue #5 : Spellchecker marks clojure keywords
- Clojure project nature: Corrected error when adding the clojure nature to a java project with an already existing classes/ folder in the classpath
Version 0.0.39
No 0.0.39
Version 0.0.38
Features added
- "new Clojure file" wizard: replaced ;; filename by (ns name.space.filename) when creating a clojure file (by C.Grand)
- Internal renamings of clojuredev to Counterclockwise / ccw
- DEBUG plugin : possibility to add breakpoints in clojure code edited via default text editor or Counterclockwise clojure source code editor. (by C.Grand)
- Counterclockwise help in Eclipse: (by S. Müehlstrasser)
- Reorganized help files to resemble the layout commonly used
- Edited the help files to follow conventions for Eclipse help
- Added copyright notices
- Added help support for the preference pages
Bugs fixed
- Issue #70: Currently unused(?) import of PixelConverter has been deleted in Galileo
Version 0.0.37
Features added
- Made clojuredev compatible with Eclipse Galileo (3.5). Please note, however, that there has been reports of slugginess of the clj files editor with Eclipse Galileo. We do not know yet for sure whether this is specific to Galileo. In doubt, please do not upgrade your eclipse if possible. We're actively working on correcting this issue.
- Syntax color : fix for recognizing Unicode character constants
- Issue #57 : Option to terminate REPL after execution
Bugs fixed
- Issue #51 : Keyassist shows variable names
- Issue #55 : On Mac, text field in namespace browser is tiny.
- Not tested on Mac, but a correction has been done to make the text zone fill the extra available space
- Issue #58 : error reporting and class compilation regression
- Version 0.0.34 introduced auto-attribution of a port number when launching a clojure environment with a backend REPL server. This also introduced a problem with error reporting (markers) when saving files and class compilation regression. It is now fixed
- Issue #60 : After restarting workspace, Namespace Browser view dissappears
Version 0.0.36
Reminder : see everything about how to install on this wiki page:
http://code.google.com/p/clojure-dev/wiki/Documentation#Install_cloju...
Features added
- Stephan did a wonderful job by creating a syntax colors preference page ( Window > Preferences > Clojure > Syntax coloring )
- Laurent did some improvements on the code completion part - still a work in progress, but should be stable. Please don't hesitate to report any problem you encounter !
- Syntax highlighting enhancement: java symbols starting with package names are now also displayed in Italic (e.g. now the following form is displayed in italic: (java.util.Collections/emptyList) )
Version 0.0.35
Quick interim version, see 0.0.36.
Version 0.0.34
This is mainly a bug fix + 1 interesting feature, since many bug reports had been issued during the last days on version 0.0.33.
Features added
- You no longer need to specify a port manually for starting a launch configuration. If you specify -1, clojuredev will automatically determine a port for you (-1 is now the default value when creating a new launch configuration).
Bugs fixed
- Correction of initialization problems.
- When the builder is unable to delete resources in classes folder, it no longer makes the build or clean fail, but instead it just reports an error.
- Corrected an error introduced by previous correction on the plugin (use now asyncExec instead of syncExec to avoid deadlock)
- Fixes issue 42 - Pb with clojuredev builder
- Fixed docstring rendering when displayed for clojure vars in code completion