[
https://issues.apache.org/jira/browse/GROOVY-8162?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Paul King updated GROOVY-8162:
------------------------------
Description:
Groovysh currently uses [https://github.com/jline/jline2] which is no longer
supported. It should be updated to use [https://github.com/jline/jline3]
UPDATE (from recent dev mailing list thread):
Things that I know need some work:
* The /grab completer completes maven coordinates based on dependencies found
in the users ~/.m2/repository or ~/.groovy/grapes directories. We might like to
allow that to be configured to with a URL, e.g. to maven central.
* /ls on windows is broken https://github.com/jline/jline3/pull/1387
(workaround on windows)
* /grep is broken https://github.com/jline/jline3/pull/1390 (workaround in
place)
* pipe operator conflicts can be reduced
https://github.com/jline/jline3/pull/1394 (workaround in place)
* output redirect operators conflict with common groovy operators (workaround
in place) https://github.com/jline/jline3/pull/1392
* Theme support is "enabled" for syntax highlighting and existing commands let
you switch e.g. between light and dark highlighting, but I don't know what
parts are actually affected when you make such changes.
* There are some completers like BackslashEscapeCompleter that are only in the
old version.
* There is a rudimentary DocFinder class that looks up javadoc and groovydoc
using a browser. Our old version also handled GDK documentation and had
fallbacks if browsers weren't found. See also:
[https://github.com/jline/jline3/blob/master/demo/src/main/scripts/init.jline]
* -Many switches and system properties haven't been converted over-
* I18N message resources are rather limited in the new version
* -Interpreter mode hasn't been looked at-
* testing on various platforms is incomplete
* test suite is -hard-coded to JLine2 implementation details in numerous
places- is sparse
Some screenshots from the spike:
!Screenshot 2025-06-22 at 1.34.30 pm.png!
!Screenshot 2025-06-23 at 4.03.00 pm.png!
!Screenshot 2025-06-23 at 4.21.56 pm.png!
!Screenshot 2025-06-23 at 7.02.29 pm.png!
was:
Groovysh currently uses [https://github.com/jline/jline2] which is no longer
supported. It should be updated to use [https://github.com/jline/jline3]
UPDATE (from recent dev mailing list thread):
Things that I know need some work:
* The /grab completer completes maven coordinates based on dependencies found
in the users ~/.m2/repository or ~/.groovy/grapes directories. We might like to
allow that to be configured to with a URL, e.g. to maven central.
* /ls on windows is broken https://github.com/jline/jline3/pull/1387
* /grep is broken https://github.com/jline/jline3/pull/1390
* pipe operator conflicts can be reduced
https://github.com/jline/jline3/pull/1394 (workaround in place)
* output redirect operators conflict with common groovy operators (workaround
in place) https://github.com/jline/jline3/pull/1392
* Theme support is "enabled" for syntax highlighting and existing commands let
you switch e.g. between light and dark highlighting, but I don't know what
parts are actually affected when you make such changes.
* There are some completers like BackslashEscapeCompleter that are only in the
old version.
* There is a rudimentary DocFinder class that looks up javadoc and groovydoc
using a browser. Our old version also handled GDK documentation and had
fallbacks if browsers weren't found. See also:
[https://github.com/jline/jline3/blob/master/demo/src/main/scripts/init.jline]
* -Many switches and system properties haven't been converted over-
* I18N message resources are rather limited in the new version
* -Interpreter mode hasn't been looked at-
* testing on various platforms is incomplete
* test suite is -hard-coded to JLine2 implementation details in numerous
places- is sparse
Some screenshots from the spike:
!Screenshot 2025-06-22 at 1.34.30 pm.png!
!Screenshot 2025-06-23 at 4.03.00 pm.png!
!Screenshot 2025-06-23 at 4.21.56 pm.png!
!Screenshot 2025-06-23 at 7.02.29 pm.png!
> Update Groovysh to JLine3
> -------------------------
>
> Key: GROOVY-8162
> URL: https://issues.apache.org/jira/browse/GROOVY-8162
> Project: Groovy
> Issue Type: Improvement
> Components: Groovysh
> Reporter: Pascal Schumacher
> Assignee: Paul King
> Priority: Major
> Labels: contrib
> Fix For: 5.x
>
> Attachments: Screenshot 2025-06-22 at 1.34.30 pm.png, Screenshot
> 2025-06-23 at 4.03.00 pm.png, Screenshot 2025-06-23 at 4.21.56 pm.png,
> Screenshot 2025-06-23 at 7.02.29 pm.png
>
>
> Groovysh currently uses [https://github.com/jline/jline2] which is no longer
> supported. It should be updated to use [https://github.com/jline/jline3]
> UPDATE (from recent dev mailing list thread):
> Things that I know need some work:
> * The /grab completer completes maven coordinates based on dependencies
> found in the users ~/.m2/repository or ~/.groovy/grapes directories. We might
> like to allow that to be configured to with a URL, e.g. to maven central.
> * /ls on windows is broken https://github.com/jline/jline3/pull/1387
> (workaround on windows)
> * /grep is broken https://github.com/jline/jline3/pull/1390 (workaround in
> place)
> * pipe operator conflicts can be reduced
> https://github.com/jline/jline3/pull/1394 (workaround in place)
> * output redirect operators conflict with common groovy operators
> (workaround in place) https://github.com/jline/jline3/pull/1392
> * Theme support is "enabled" for syntax highlighting and existing commands
> let you switch e.g. between light and dark highlighting, but I don't know
> what parts are actually affected when you make such changes.
> * There are some completers like BackslashEscapeCompleter that are only in
> the old version.
> * There is a rudimentary DocFinder class that looks up javadoc and groovydoc
> using a browser. Our old version also handled GDK documentation and had
> fallbacks if browsers weren't found. See also:
> [https://github.com/jline/jline3/blob/master/demo/src/main/scripts/init.jline]
> * -Many switches and system properties haven't been converted over-
> * I18N message resources are rather limited in the new version
> * -Interpreter mode hasn't been looked at-
> * testing on various platforms is incomplete
> * test suite is -hard-coded to JLine2 implementation details in numerous
> places- is sparse
>
> Some screenshots from the spike:
>
> !Screenshot 2025-06-22 at 1.34.30 pm.png!
> !Screenshot 2025-06-23 at 4.03.00 pm.png!
> !Screenshot 2025-06-23 at 4.21.56 pm.png!
> !Screenshot 2025-06-23 at 7.02.29 pm.png!
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)