JetBrains / la-clojure

Clojure plugin for IntelliJ IDEA
Apache License 2.0
220 stars 49 forks source link

Fixed some TODOs #97

Closed TimNekk closed 1 month ago

TimNekk commented 1 month ago
  1. ClojureCodeFragment.java

    • Implemented the addImportForClass method, which adds an import statement for a given class to the code fragment. This allows using classes from other namespaces within the code fragment.
  2. ClojureBraceAttributes.java

    • Modified the getBraceAttributes method to ensure that brace colors are correctly displayed on the Darcula dark theme, while preserving the original colors defined in CLOJURE_BRACE_COLORS.
  3. ClojureParser.java

    • Implemented the parseMetadata method, which parses metadata expressions in Clojure. Metadata is a map that precedes an expression and starts with ^. This method recognizes metadata and the associated expression, adding them to the PSI tree.
    • Implemented the parseStaticMethodCall method, which parses static method calls in Clojure. This method recognizes the (. ClassName methodName args...) construct and adds it to the PSI tree.
    • Implemented the isParameterSymbol method, which determines if a given symbol represents a function parameter in Clojure. This is used for proper recognition of parameters in function definitions.
  4. ClDefImpl.java, ClSyntheticNamespace.java, ClSymbolImpl.java

    • Implemented the getLocationString method, which returns a string describing the location of an element within the file. This string now includes not only the file name but also the namespace in which the element is located.
  5. ClojureResolveHelper.java

    • Implemented the isAccessible method, which determines if a given named element is accessible from the current context. This method considers access modifiers (private, protected), resolve scope, and class inheritance.
  6. ClojureResolveProcessor.java

    • Implemented the isAccessible method, which determines if a given named element is accessible from the current context. This method considers access modifiers (private, protected), resolve scope, and class inheritance.
  7. ClojureUtil.java

    • Implemented the isParameterSymbol method, which checks if a given symbol represents a function parameter in Clojure. This is used for proper recognition of parameters in function definitions.
gregsh commented 1 month ago

This plugin and the repository are obsolete.

https://github.com/JetBrains/la-clojure/blob/master/README.md:

Project state The project is closed because of Cursive Clojure, which is more stable and feature-rich and it was originally based on La Clojure sources. The last update is available for IntelliJ IDEA 15 (as soon as Cursive Clojure will be available from JetBrains plugin manager, it won't be updated anymore).

For a relatively more up-to-date free and opensource Clojure plugin, see https://github.com/gregsh/Clojure-Kit