[ 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 * /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! 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. * 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 > * /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! > -- This message was sent by Atlassian Jira (v8.20.10#820010)