Giter Site home page Giter Site logo

ccw-ide / ccw Goto Github PK

View Code? Open in Web Editor NEW
218.0 23.0 49.0 47.19 MB

Counterclockwise is an Eclipse plugin helping developers write Clojure code

Home Page: https://github.com/laurentpetit/ccw/wiki/GoogleCodeHome

License: Eclipse Public License 1.0

HTML 6.19% CSS 0.13% Java 51.49% Clojure 33.20% Emacs Lisp 8.36% Shell 0.63%

ccw's Introduction

Counterclockwise (aka CCW)

Counterclockwise is an Eclipse plugin helping developers write Clojure code

Build Status

Install: Standalone version

See documentation here: http://doc.ccw-ide.org/documentation.html#install-as-standalone-product

Install: Software Update Sites

More about Counterclockwise Software Update Sites: https://github.com/ccw-ide/ccw/wiki/UpdateSites

Or see documentation here: http://doc.ccw-ide.org/documentation.html#install-as-plugin

Resources

General information website: https://github.com/ccw-ide/ccw/wiki/GoogleCodeHome

Documentation website: http://doc.ccw-ide.org/

Issues tracker: https://github.com/ccw-ide/ccw/issues

Mailing List: http://groups.google.com/group/clojuredev-users

Install CCW development environment, build CCW with Maven

Contributing

License

Copyright © 2009-2015 Laurent Petit

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

ccw's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ccw's Issues

Make the commands more easier to find for users

Original issue 18 created by laurentpetit on 2009-11-08T13:44:32.000Z:

This can be achieved by several different ways (not exclusive, but one
could be sufficient at first) :

  • displaying a "Clojure" (or "Clojure-dev") top level menu with all the
    commands (and their shortcuts) when a clojure editor is opened
  • creating a contextual help accessible via eclipse help system (itself
    based on the underlying OS system, e.g. via F1 keyboard key on Windows ...)
  • displaying a contextual menu for the current selection in Clojure code
    editors

Pressing Ctrl-F11 twice crashes Repl

Original issue 29 created by laurentpetit on 2009-11-08T13:48:42.000Z:

  1. Press Ctrl-F11 in clojure editor window
  2. Press Ctrl-F11 in clojure editor window again

What is the expected output?
I would expect to rerun the clojure code (probably starting a new repl)

What do you see instead
user=> Exception in thread "Thread-0" java.lang.RuntimeException:
java.net.BindException: Address already in use: JVM_Bind
at clojure.lang.AFn.run(AFn.java:42)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.net.BindException: Address already in use: JVM_Bind
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:359)
at java.net.ServerSocket.bind(ServerSocket.java:319)
at java.net.ServerSocket.(ServerSocket.java:185)
at java.net.ServerSocket.(ServerSocket.java:97)
at
clojuredev.debug.serverrepl$create_server__3008$fn__3010.invoke(serverrepl.clj:14)
at clojure.lang.AFn.run(AFn.java:38)
... 1 more

Platform
Windows NT
Eclipse 3.4.1 M20080911-1700
Clojure Contrib plug-in 0.0.0.20090120_r394
Clojure plug-in 0.0.0.20090120_r1217
Clojuredev Plug-in 0.0.11

Option to reformat code

Original issue 8 created by laurentpetit on 2009-10-28T16:20:19.000Z:

I prefer to type my code messily and let the editor reformat it for
neatness. I feel I'm wasting a lot of time lining things up for neatness.

Don't accumulate same launched configurations

Original issue 49 created by laurentpetit on 2010-01-07T19:58:17.000Z:

Add a flag to a clojure launch configuration which, when enabled, takes
care of killing any launched JVM issued from the same configuration. ("à
la" Eclipse RAP launch configuration)

Code completion through connection to remote swank-clojure

Original issue 16 created by laurentpetit on 2009-11-08T13:44:07.000Z:

The functionality should be :

Start a project's REPL (a remote JVM that will include the eclipse
project's dependencies in its classpath, as well as a library embedded in
clojure-dev plugin that will allow to remotely dialog with the clojure
environment).

Clojure-dev should load all libraries in order to be able to do symbol
search ...

Open a clojure file.
Try symbol completion. Clojure-dev should connect to the remote clojure
environment asking for symbols available from the ns of the edited file.

Carret does not move to the end of word after autocompletion

Original issue 32 created by laurentpetit on 2009-11-08T13:50:45.000Z:

  1. Open a clojure file
  2. Type Ctrl-Space to get suggestion of autocompletion
  3. Type Enter to select one of the element of the list

Expected : the word should be automatically inserted at the current point,
and the carret should move to the end of the word (so that you can go on
typing).
Instead, the carrect stays in the middle of the word.

0.0.24 (from the update site)

Open editors do not reload correctly at relaunch

Original issue 9 created by laurentpetit on 2009-10-30T23:18:59.000Z:

If I re-open a workspace that had editors open in it, all my Clojure
windows come up with an error (I'll attach a screen shot).

Mac OS X 10.6, Eclipse 3.5

Develop a real Clojure builder

Original issue 13 created by laurentpetit on 2009-11-08T13:07:03.000Z:

A Clojure builder will process all gen-class expressions in a file,
compiling them to *.class files. This is a key step in bootstrapping the
clojuredev IDE to a pure Clojure port.

New clojure project reports: selected wizard could not be started

Original issue 33 created by laurentpetit on 2009-11-08T13:51:26.000Z:

  1. Add clojure.jar to lib/ext dir of active JVM
  2. Launch eclipse (using same JVM)
  3. Try and create clojure project or file

Eclipse error message when trying to create project.
If I remove clojure.jar from lib/ext the problem goes away.

windows XP,
clojure_20081217.zip,
clojure-dev 0.0.27,
JVM 1.6.0_12,
Eclipse 3.4.1

Thanks for the plugin!

Conflict with other plugin (Groovy)

Original issue 27 created by laurentpetit on 2009-11-08T13:48:07.000Z:

  1. Install Groovy plugin
  2. Install clojure plugin

What is the expected output?
Syntax highlighting in groovy source editor.

What do you see instead?
No syntax highlighting in groovy source editor.

Linux Ubuntu 8.10 Eclipse 3.4 (J2EE Version) gtk

Errors while naming a new run configuration

Original issue 26 created by laurentpetit on 2009-11-08T13:47:33.000Z:

  1. New project
  2. right click project node
  3. run as... -> Run Configurations
  4. Select Clojure
  5. Click the "new" button
  6. Put focus on the Name field for the configuration
  7. Type any character
  8. Observe: cursor resets to the beginning of the line, and an error
    message flashes at the top of the screen indicating the name already
    exists.

I would expect no validation or creation of the configuration until I'm
done making it.

latest version released as of 19th January, installed as described in docs.

Love the looks of the plugin so far, keep up the good work!

Enhanced version of file creation wizard

Original issue 25 created by laurentpetit on 2009-11-08T13:46:53.000Z:

The wizards could do more :

= new project wizard =

  • second page with some working parameterized templates (root namespace)
    • examples : Hello World, Java interaction (could create a java class
      with code for interaction with clojure, and a ns with a working gen-class)

= new file wizard =

  • ask for the namespace (new, via 'ns, or additional file, via 'in-ns)
  • help the user if he wants a namespace bound to a java class (gen-class)
  • help the user initialize require / use sections

Selection of s-expressions

Original issue 35 created by laurentpetit on 2009-11-12T12:15:05.000Z:

The following function (bound to some keyboard shortcut) would be nice to have in the Clojure
editor: select the smallest s-expression that completely contains the current selection (which may
be empty). This would

  • select up to the matching bracket when the cursor is on a bracket
  • select the enclosing s-expression when the cursor is on any symbol or literal
  • select one more layer if used repeatedly

Ctrl-c does not work in editing window

Original issue 28 created by laurentpetit on 2009-11-08T13:48:22.000Z:

  1. Open clojure file in editing window
  2. Select some text
  3. use Ctrl-c to copy
  4. Use Ctrl-v or menu-paste to paste

Expected it output is the copied selection
Actual Output is whatever was in the clipboard before

Menu copy works as expected

Windows NT
Eclipse 3.4.1 M20080911-1700
Clojure Contrib plug-in 0.0.0.20090120_r394
Clojure plug-in 0.0.0.20090120_r1217
Clojuredev Plug-in 0.0.11

Adapt s-expression selection to Clojure syntax

Original issue 36 created by laurentpetit on 2009-11-12T12:23:30.000Z:

  1. S-expression levels are defined not only by lists, but also by vectors, maps, and sets
    (square/curly brackets)
  2. Take into account reader macros; sets (#{}) and anonymous function literals (#()) should be
    selected with the # included.
  3. Var-quote (#') and metadata (#^) should be handled like their s-expression equivalent, i.e. as a
    distinct nesting level in the s-expression.

macroexpansion support in editor

Original issue 42 created by laurentpetit on 2009-12-09T15:32:42.000Z:

Another thing that emacs does which is very useful is macro expasion, you
hit C-c M-m and it'll popup the expansion of a macro that's under the cursor

That should be pretty easy to implement, even if it just puts (macroexpand
...) into the repl for you.

Clojure Editor misparses regex with special character

Original issue 39 created by laurentpetit on 2009-11-23T21:27:48.000Z:

What steps will reproduce the problem?

  1. Put the following program into the Clojure editor:

(ns regex.error.short-bug)

(defn parse-one
[a-string](re-matches #"%2872%29s*%28d%29s*%28d{3,4}%29%28%29%28R?%29s*" a-string))

; pointless quotation-mark "))
  1. Notice how string highlighting continues to the
    quotation mark after the comment character.
  2. Notice how the "commented-out" parens actually close the
    fn-call and the defn.

What is the expected output? What do you see instead?
Expected output would be string- (or re-) highlighting to the quotation mark.

What I see is that the first \s messes up the parsing, and the editor looks
for something else to close the string (re).

What version of the product are you using? On what operating system?
0.0.41 on Linux (openSuse 11.0)

Please provide any additional information below.

Namespace browser

Original issue 21 created by laurentpetit on 2009-11-08T13:44:56.000Z:

Make a namespace browser view able to show a browsable namespace if the
current selection can be adapted to some (to be defined)
IClojureEnvironmentClient interface.

The browser will present the namespaces as a two-level tree: first level =
namespace name, second level = namespace symbols (private/public defns,
macros, and other vars).

Icons could be made as consistent as possible with JDT java outline icons
(mapping : function <-> method, var <-> field, macro <-> ???)

The namespace could present imported classes as regular java imports in a
special case node, imported vars from other namespaces as a second special
case node (and maybe also another level for differentiating the several
imported namespaces).

The namespace view could offer to filter to view only public members.

The namespace browser could try to open, on double click, the definition of
the function if it finds it in the current project (and also maybe in
current project dependencies, even opening jars to find source file).

The namespace browser, via a middle clic or special contextual menu, could
import either in the REPL or the current editor a "call" to the
function/macro/var with appropriate placeholders for arguments, named after
the definition found.

The namespace browser could show documentation for the selected node. It
could do this for clojure vars, and also via JDT invokation for imported
java members.

Correct Caret position in ProcessConsole

Original issue 52 created by laurentpetit on 2010-01-18T20:54:28.000Z:

What steps will reproduce the problem?

  1. Run the REPL
  2. Observe the cursor
    3.

What is the expected output? What do you see instead?
The cursor should appear at the end of the console prompt instead of before
the result of the last eval.

What version of the product are you using? On what operating system?

Please provide any additional information below.

Ideally, the StreamListener.streamAppended method would be where this
should happen, but unless you plan on re-implementing the
org.eclipse.debug.internal.ui.views.console.ProcessConsole an acceptable
alternative is to use a DocumentListener on the console's document.
Attached is a version of ccw.console.ConsolePageParticipant that
demonstrates a version of this fix.

CLJ file creation problem

Original issue 19 created by laurentpetit on 2009-11-08T13:44:41.000Z:

It's currently not possible to create a clojure file in a java source file
location. It's just possible to create a clojure file outside java source
file locations.

The behaviour should be the exact inverse : clojure files should be in java
source file locations.

launch sexpr problem at end of file

Original issue 15 created by laurentpetit on 2009-11-08T13:43:45.000Z:

Create a file with a top level sexpr whose closing paren is the last
character of the file.

None of the commands for going at its end, selecting it, or launching it in
the REPL correctly works : the closing paren is not part of the selection.

Namespace with :gen-class is not precompiled

Original issue 7 created by laurentpetit on 2009-10-28T16:19:38.000Z:

My filter namespace starts with:

(ns
#^{:doc "Servlet API Filter that directs requests into Cascade"}
cascade.filter
(:require
(cascade exception))
(:use
(clojure stacktrace)
(clojure.contrib str-utils)
(cascade config change-tracker dispatcher logging path-map pipeline urls
exception)
(cascade.internal utils))
(:import
(javax.servlet Filter FilterChain FilterConfig ServletContext
ServletRequest ServletResponse)
(javax.servlet.http HttpServletRequest HttpServletResponse))
(:gen-class
:state context
:init psuedo-constructor
:implements [javax.servlet.Filter]))

However, even after a clean build, my classes folder contains only .clj
files. I'm not seeing any AOT compilation. I'm reliant on my Ant build to
do the AOT, and I need cascade.filter AOT compiled to do any work.

Nothing appears in the Error Log view, or in .metadata/.log.

Don't know if this affects anything, but I'm using Maven to resolve the
Clojure JAR file.

I'd tried disabling and re-enabling Clojure support. I'm seeing a couple of
errors:

eclipse.buildId=M20090917-0800
java.version=1.6.0_15
java.vendor=Apple Inc.
BootLoader constants: OS=macosx, ARCH=x86, WS=cocoa, NL=en_US
Framework arguments: -product org.eclipse.epp.package.java.product
-keyring /Users/Howard/.eclipse_keyring -showlocation
Command-line arguments: -os macosx -ws cocoa -arch x86 -product
org.eclipse.epp.package.java.product -keyring
/Users/Howard/.eclipse_keyring -showlocation

This is a continuation of log file
/Users/Howard/clojure-workspace/.metadata/.bak_0.log
Created Time: 2009-10-28 08:47:33.615

Error
Wed Oct 28 09:16:24 PDT 2009
No property tester contributes a property projectPersistentProperty
org.eclipse.team.core.repository to type class
org.eclipse.core.internal.resources.Project

org.eclipse.core.runtime.CoreException: No property tester contributes a
property projectPersistentProperty org.eclipse.team.core.repository to type
class org.eclipse.core.internal.resources.Project
at
org.eclipse.core.internal.expressions.TypeExtensionManager.getProperty(TypeExtensionManager.java:123)
at
org.eclipse.core.internal.expressions.TestExpression.evaluate(TestExpression.java:96)
at
org.eclipse.core.internal.expressions.CompositeExpression.evaluateAnd(CompositeExpression.java:53)
at
org.eclipse.core.internal.expressions.AdaptExpression.evaluate(AdaptExpression.java:91)
at
org.eclipse.ui.internal.dialogs.RegistryPageContributor.failsEnablement(RegistryPageContributor.java:260)
at
org.eclipse.ui.internal.dialogs.RegistryPageContributor.isApplicableTo(RegistryPageContributor.java:209)
at
org.eclipse.ui.internal.dialogs.PropertyPageContributorManager.getApplicableContributors(PropertyPageContributorManager.java:199)
at
org.eclipse.ui.dialogs.PropertyDialogAction.hasPropertyPagesFor(PropertyDialogAction.java:104)
at
org.eclipse.ui.dialogs.PropertyDialogAction.isApplicableForSelection(PropertyDialogAction.java:146)
at
org.eclipse.ui.dialogs.PropertyDialogAction.isApplicableForSelection(PropertyDialogAction.java:126)
at
org.eclipse.ui.internal.navigator.resources.actions.PropertiesActionProvider.fillContextMenu(PropertiesActionProvider.java:62)
at
org.eclipse.ui.navigator.NavigatorActionService.addCommonActionProviderMenu(NavigatorActionService.java:220)
at
org.eclipse.ui.navigator.NavigatorActionService.fillContextMenu(NavigatorActionService.java:174)
at
org.eclipse.ui.navigator.CommonNavigatorManager.fillContextMenu(CommonNavigatorManager.java:277)
at
org.eclipse.ui.navigator.CommonNavigatorManager$4.menuAboutToShow(CommonNavigatorManager.java:292)
at org.eclipse.jface.action.MenuManager.fireAboutToShow(MenuManager.java:338)
at
org.eclipse.jface.action.MenuManager.handleAboutToShow(MenuManager.java:469)
at org.eclipse.jface.action.MenuManager.access$1(MenuManager.java:465)
at org.eclipse.jface.action.MenuManager$2.menuShown(MenuManager.java:491)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:235)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:3543)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1250)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1273)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1254)
at org.eclipse.swt.widgets.Menu.menuWillOpen(Menu.java:683)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4705)
at org.eclipse.swt.internal.cocoa.OS.objc_msgSend(Native Method)
at org.eclipse.swt.internal.cocoa.NSMenu.popUpContextMenu(NSMenu.java:68)
at org.eclipse.swt.widgets.Menu._setVisible(Menu.java:230)
at org.eclipse.swt.widgets.Display.runPopups(Display.java:3489)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3093)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2405)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2369)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2221)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500)
at
org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:493)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at
org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)
at
org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:368)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
at org.eclipse.equinox.launcher.Main.run(Main.java:1311)

#_ handling in syntax highlighting

Original issue 45 created by laurentpetit on 2009-12-17T20:16:09.000Z:

handle form prefixed by #_ in some way.

Out of my head: keep the syntax, place all in italic (but italic is already
taken by java interop stuff, grml, and also currently we just use lexer
information, so we can not make tokens be at the same time regular tokens
and part of a #_ed form ...

conflict with maven m2 plugin

Original issue 31 created by laurentpetit on 2009-11-08T13:49:26.000Z:

  1. install m2 plugin
  2. install clojure
  3. open pom.xml

pom file editor, but get an exception

Maven POM editor from Sonatype (http://m2eclipse.sonatype.org/update/)
Latest clojure-dev

null
Warning
Wed Feb 11 10:47:35 EST 2009
Unexpected IDocumentProvider implementation:
clojuredev.editors.rulesbased.ClojureDocumentProvider

null
Error
Wed Feb 11 10:47:35 EST 2009
Unable to create editor ID org.maven.ide.eclipse.editor.MavenPomEditor:
org.eclipse.jface.text.Document

java.lang.ClassCastException: org.eclipse.jface.text.Document
at
org.eclipse.wst.sse.ui.internal.provisional.style.StructuredPresentationReconciler.processDamage(StructuredPresentationReconciler.java:1051)
at
org.eclipse.wst.sse.ui.internal.provisional.style.StructuredPresentationReconciler$InternalListener.inputDocumentChanged(StructuredPresentationReconciler.java:470)
at
org.eclipse.wst.sse.ui.internal.provisional.style.StructuredPresentationReconciler.install(StructuredPresentationReconciler.java:805)
at
org.eclipse.wst.sse.ui.internal.StructuredTextViewer.configure(StructuredTextViewer.java:356)
at
org.eclipse.wst.sse.ui.StructuredTextEditor.setSourceViewerConfiguration(StructuredTextEditor.java:2994)
at
org.eclipse.wst.sse.ui.StructuredTextEditor.updateSourceViewerConfiguration(StructuredTextEditor.java:3406)
at
org.eclipse.wst.sse.ui.StructuredTextEditor.update(StructuredTextEditor.java:3055)
at
org.maven.ide.eclipse.editor.pom.MavenPomEditor.addSourcePage(MavenPomEditor.java:431)
at
org.maven.ide.eclipse.editor.pom.MavenPomEditor.addPages(MavenPomEditor.java:367)
at org.eclipse.ui.forms.editor.FormEditor.createPages(FormEditor.java:146)
at
org.eclipse.ui.part.MultiPageEditorPart.createPartControl(MultiPageEditorPart.java:310)
at
org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:661)
at org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:428)
at
org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:594)
at org.eclipse.ui.internal.EditorReference.getEditor(EditorReference.java:266)
at
org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched(WorkbenchPage.java:2820)
at
org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:2729)
at org.eclipse.ui.internal.WorkbenchPage.access$11(WorkbenchPage.java:2721)
at org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.java:2673)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2668)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2652)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2643)
at org.eclipse.ui.ide.IDE.openEditor(IDE.java:646)
at org.eclipse.ui.ide.IDE.openEditor(IDE.java:605)
at
org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInEditor(EditorUtility.java:318)
at
org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInEditor(EditorUtility.java:160)
at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:228)
at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:207)
at
org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchRun(SelectionDispatchAction.java:274)
at
org.eclipse.jdt.ui.actions.SelectionDispatchAction.run(SelectionDispatchAction.java:250)
at
org.eclipse.jdt.internal.ui.packageview.PackageExplorerActionGroup.handleOpen(PackageExplorerActionGroup.java:363)
at
org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart$5.open(PackageExplorerPart.java:603)
at org.eclipse.jface.viewers.StructuredViewer$2.run(StructuredViewer.java:820)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
at org.eclipse.core.runtime.Platform.run(Platform.java:880)
at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:48)
at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175)
at
org.eclipse.jface.viewers.StructuredViewer.fireOpen(StructuredViewer.java:818)
at
org.eclipse.jface.viewers.StructuredViewer.handleOpen(StructuredViewer.java:1079)
at
org.eclipse.jface.viewers.StructuredViewer$6.handleOpen(StructuredViewer.java:1183)
at org.eclipse.jface.util.OpenStrategy.fireOpenEvent(OpenStrategy.java:263)
at org.eclipse.jface.util.OpenStrategy.access$2(OpenStrategy.java:257)
at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:297)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1561)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1585)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1570)
at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1360)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3482)
at org.eclipse.swt.widgets.Control.sendTrackEvents(Control.java:3024)
at org.eclipse.swt.widgets.Control.kEventControlTrack(Control.java:2104)
at org.eclipse.swt.widgets.Widget.controlProc(Widget.java:375)
at org.eclipse.swt.widgets.Display.controlProc(Display.java:862)
at org.eclipse.swt.internal.carbon.OS.CallNextEventHandler(Native Method)
at org.eclipse.swt.widgets.Tree.kEventMouseDown(Tree.java:2599)
at org.eclipse.swt.widgets.Widget.mouseProc(Widget.java:1326)
at org.eclipse.swt.widgets.Display.mouseProc(Display.java:2929)
at org.eclipse.swt.internal.carbon.OS.SendEventToEventTarget(Native Method)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3051)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2382)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2198)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:288)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:488)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at
org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)
at
org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:193)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:386)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:549)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
at org.eclipse.equinox.launcher.Main.run(Main.java:1236)

Evil string compare bug in ClojureLineBreakpointAdapter when file has no extension

Original issue 41 created by laurentpetit on 2009-11-30T18:40:18.000Z:

What steps will reproduce the problem?

  1. Attempt to open a file with no extension (e.g. README)
  2. See NullPointerException in java.lang.NullPointerException
    at
    ccw.debug.BreakpointAdapterFactory.getAdapter(BreakpointAdapterFactory.java:26)
    3.

What is the expected output? What do you see instead?

What version of the product are you using? On what operating system?

38
Please provide any additional information below.

public static boolean isCljFile(IEditorPart editorPart) {
    IResource resource = (IResource) editorPart.getEditorInput()
            .getAdapter(IResource.class);
    if (resource != null &amp;&amp; resource.getFileExtension().equals(&quot;clj&quot;)) {
        return true;
    }

    if (editorPart.getEditorInput() instanceof IStorageEditorInput) {
        try {
            IStorageEditorInput input = (IStorageEditorInput)

editorPart.getEditorInput();
if (input.getStorage().getName().endsWith(".clj")) {
return true;
}
} catch (CoreException e) {
// Nothing more to do :-(
}
}

    return false;
}

should be:

public static boolean isCljFile(IEditorPart editorPart) {
    IResource resource = (IResource) editorPart.getEditorInput()
            .getAdapter(IResource.class);
    if (resource != null &amp;&amp; &quot;clj&quot;.equals(resource.getFileExtension())) {
        return true;
    }

    if (editorPart.getEditorInput() instanceof IStorageEditorInput) {
        try {
            IStorageEditorInput input = (IStorageEditorInput)

editorPart.getEditorInput();
if (input.getStorage().getName().endsWith(".clj")) {
return true;
}
} catch (CoreException e) {
// Nothing more to do :-(
}
}

    return false;
}

Unable to launch REPL when project name contains a space

Original issue 48 created by laurentpetit on 2010-01-04T17:08:31.000Z:

What steps will reproduce the problem?

  1. create a new Clojure project
  2. give it a name like 'foo bar'
  3. attempt to launch REPL

What is the expected output?
a REPL window is launched

What do you see instead?

An internal error occurred during: "Launching testing clojure REPL
[helloworld.clj]".
org.eclipse.core.runtime.IPath.makeRelativeTo(Lorg/eclipse/core/runtime/IPa

th;)Lorg/eclipse/core/runtime/IPath;

What version of the product are you using? On what operating system?
Ubuntu, Eclipse 3.4, ccw v0.43

C-M-X problems

Original issue 17 created by laurentpetit on 2009-11-08T13:44:21.000Z:

The command should be displayed in the REPL.
The command should work with a selection (not taking the selection into
account, and launching the sexpr).

Views should be named "Clojure Namespace Browser"

Original issue 2 created by laurentpetit on 2009-10-06T20:02:32.000Z:

counterclockwise is a cool name, but not meaningful. If I'm looking for a
view about Clojure, it should be in a group marked "Clojure" not
"Counterclockwise Views".

paren Literal chars breaking matching pairs ...

Original issue 51 created by laurentpetit on 2010-01-13T20:07:16.000Z:

What steps will reproduce the problem?

  1. Create a file with content (defn foo [] ( )
  2. Try the "goto matching paren" on the last paren.

What is the expected output? What do you see instead?
Should jump to first paren. Jumps to second instead

Similar problems with literal double quote chars ...

Add command to reset the REPL

Original issue 11 created by laurentpetit on 2009-11-08T13:03:22.000Z:

Currently the launch shortcut can evaluate to the REPL. In some cases,
user may want to reset the REPL to unload previously evaluated expressions.
Add a command to the REPL console to reset the REPL thread.

Activate "org.eclipse.ui.textEditorScope" context in ccw.console.ConsolePageParticipant

Original issue 47 created by laurentpetit on 2009-12-29T23:51:48.000Z:

I am in the process of enhancing the Emacs+ Eclipse plugin to be able to
provide basic emacs editing capabilities in the Eclipse ConsoleView. For
the Clojure Console, if you activate the textEditorScope context on entry,
it will allow a more emacs like interactive experience in the console (e.g.
basic movement: C-a, C-e, C-f, C-b, etc. mark & mark highlight: C-<SPC>,
C-g, and Cut, Copy and Paste: C-w, M-w, C-y, etc.) in the next (2.8.0)
release of Emacs+.

To enable, add the following to ccw.console.ConsolePageParticipant:

private IContextActivation fContextActivation;

public void activated() {
IContextService contextService = (IContextService)
PlatformUI.getWorkbench().getAdapter(IContextService.class);
fContextActivation =
contextService.activateContext("org.eclipse.ui.textEditorScope"); //$NON-NLS-1$
}

public void deactivated() {
if (fContextActivation != null){
IContextService contextService = (IContextService)
PlatformUI.getWorkbench().getAdapter(IContextService.class);
contextService.deactivateContext(fContextActivation);
fContextActivation = null;
}
}

Deletion Problem (happens all the time) + Package on loadup+Deleting Project

Original issue 6 created by laurentpetit on 2009-10-27T16:43:28.000Z:

Im using the clojure on the update site.

Steps to reproduce:
(1) Create a new clojure project
(2) Create a new package under src called ide
(3) Create a new clojure file under ide called test
(4) Copy the following code into it and save:

(ns ide.test
(:gen-class
:init init :methods [[hello [] String]]
))

(defn -init [] [[] []])
(defn hello [](.println System/out "HI") "HI")

(5) With cursor in file, start a clojure repl.

--BUg issue one - use has to click inside repl for it to switch
to current ns in file. Also building doesn't work until user does this

(6) put cursor in repl. package should appear.
(7) put cursor in file and delete a parentheses and add it again.
(8) Add the following text to the clojure file
(defn hi [](print "HI"))
(9) Repeat step 8. A red error will be produced on the project name and the
problem will be that it can't delete the clojure file under bin (look under
problems view)

--Bug issue two - this error shouldn't appear. Somehow, the repl is holding
onto the files in bin and preventing deletion? At the very least, when the
repl is closed, this error should be rid of instead of the user having to
still go in an delete.
--workaround: the user must stop the repl, delete the appropriate file, and
start up again.

(10) With repl open, try to delete the whole project from the disk. An
error will occur because the repl is holding onto a file in the project
(specifically, i know for sure, test_init.class)

Editting larger files becomes sluggish

Original issue 1 created by laurentpetit on 2009-10-04T16:04:21.000Z:

I'm on 0.0.38, and its much better, but when I edit my larger files, I
still get that sluggish feeling.

Interestingly, it seems to happen over time ... if I restart and edit a big
file (180+ lines) it's initially OK, but then gets sluggish (noticeable
delay after every key stroke).

Mac OS X, Eclipse 3.5

Code Coloring Breakage

Original issue 10 created by laurentpetit on 2009-10-31T17:20:59.000Z:

What steps will reproduce the problem?

  1. Put the following code in a clojure file
    (defn format-code [#^String code](.replace
    %28.replace code "&quot; "\"%29
    """ "&quot;"))
    (defn hello [](print hello))

What is the expected output? What do you see instead?

After format-code function, stuff should be colorized. I see the color for
strings applied to everything after the "&quot;".

What version of the product are you using? On what operating system?
Windows 7, version from update site

Please provide any additional information below.

Clean action/command code

Original issue 20 created by laurentpetit on 2009-11-08T13:44:47.000Z:

  • Remove unnecessary code imported from JDT (just leave a reference to the
    initial JDT class in the class javadoc comments)
    • Remove old editor code (and package)
    • Rename antlr based editor by not embedding implementation details such
      as "Antlr based" in the name (of the package, of the class)
    • Place editor related actions in their own subdirectory

Improve performance of namespace browser

Original issue 30 created by laurentpetit on 2009-11-08T13:48:57.000Z:

By leveraging the Job API, improve the performance of the namespace browser:

  • encapsulate the refresh of the tree in a delayed Job (delay to be tested
    empirically, maybe something like 200ms)
  • if a new refresh job is requested and there are other jobs of the same
    "family", discard the sleeping jobs, and register the new one (also with a
    delay of 200 ms)

This will prevent the tree from too often flickering both when the REPL
sends several "modified" events in a very close timeframe, and also when
the search capability is used

keyboard shortcut for switch forth and back editor / REPL

Original issue 46 created by laurentpetit on 2009-12-17T21:37:55.000Z:

Either find the standard way to do this in Eclipse, and make it very
visible in the doc
Either follow e.g. the emacs convention:
C-c C-z goes from .clj files to the repl; I don't think there's a "most
recent clj file" command. (from technomancy)

bracket matching to handle literal chars correctly

Original issue 50 created by laurentpetit on 2010-01-07T20:00:03.000Z:

What steps will reproduce the problem?

  1. enter the following text in an editor: "( a ( b )"
  2. place the cursor after the last parenthesis

What is the expected output? What do you see instead?
The first parenthesis should be highlighted.
Instead, the second parenthesis is highlighted.

Source Lookup fails for .clj files

Original issue 40 created by laurentpetit on 2009-11-29T18:10:07.000Z:

What steps will reproduce the problem?

  1. Create a new Clojure project with a new .clj file.
  2. Write a simple function call (eg (println "Hello"))
  3. Set a breakpoint on the function call
  4. Run the program in debug mode

What is the expected output? What do you see instead?
Normally we should expect Debug perspective to be activated and the line
with the breakpoint to be highlighted. However, instead we get a view
showing "Source not found."

What version of the product are you using? On what operating system?
This is on v 0.0.42 on Windows.

Please provide any additional information below.
While debugging the plugin, I've been able to track down the cause of the
problem. That is that the getSourceName method in the
ClojureSourceLookupParticipant class returns an absolute path when it
should return a relative path. This only happens when debugging .clj files.
If I modify the value returned by the getSourceName method, to a relative
path, the source file is found and everything appears normal.

"\\" breaks syntax coloring

Original issue 4 created by laurentpetit on 2009-10-14T21:32:56.000Z:

e.g.

{"a" :foo "&quot; :bar}

breaks syntax coloring, :bar is not pink but brown

Improve keyboard shortcuts support on Mac

Original issue 34 created by laurentpetit on 2009-11-08T13:51:37.000Z:

  1. Fire "eval-defn + eval-region" with C-M-x

CMx doesn't work for me. Is it working on other macs?

==> If there's text selected:
Then it makes it all UPPERCASE.
Else, it pops up a little menu offering to run Ant, run JUnit, etc.

Version ...30, on Ganymede, on OS X 10.5.6.
Keys scheme selected is: Default

I also tried CSx, to no avail.
All the other key bindings seem to work fine.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.