[jira] [Commented] (GROOVY-7948) tab completion for static imports in groovysh does not work

2016-10-15 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/GROOVY-7948?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15579389#comment-15579389
 ] 

ASF GitHub Bot commented on GROOVY-7948:


Github user asfgit closed the pull request at:

https://github.com/apache/groovy/pull/438


> tab completion for static imports in groovysh does not work
> ---
>
> Key: GROOVY-7948
> URL: https://issues.apache.org/jira/browse/GROOVY-7948
> Project: Groovy
>  Issue Type: Bug
>  Components: Groovysh
>Affects Versions: 2.4.7
>Reporter: Abraham Grief
>Assignee: John Wagenleitner
>
> Currently, if I run groovysh, and enter the following:
> {noformat}
> class MyMath {
> static int square(int x) {return x*x}
> }
> import static MyMath.*
> {noformat}
> Then enter {noformat}sq{noformat} followed by hitting the Tab key, groovysh 
> does not provided any possible auto-completions.
> Instead, hitting the Tab key should auto-complete to the square method in 
> MyMath.
> I fixed this already in my local groovy installation and can submit it as a 
> pull request if that helps.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (GROOVY-7948) tab completion for static imports in groovysh does not work

2016-10-13 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/GROOVY-7948?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15571108#comment-15571108
 ] 

ASF GitHub Bot commented on GROOVY-7948:


Github user blackdrag commented on a diff in the pull request:

https://github.com/apache/groovy/pull/438#discussion_r83155709
  
--- Diff: 
subprojects/groovy-groovysh/src/main/groovy/org/codehaus/groovy/tools/shell/completion/ImportsSyntaxCompletor.groovy
 ---
@@ -87,51 +78,49 @@ class ImportsSyntaxCompletor implements 
IdentifierCompletor {
 return foundMatch
 }
 
-private static final String STATIC_IMPORT_PATTERN = ~/^import static 
([a-z0-9]+\.)+[A-Z][a-zA-Z0-9]*(\.(\*|[^.]+))?$/
+private static final String STATIC_IMPORT_PATTERN = ~/^static 
([a-zA-Z_][a-zA-Z_0-9]*\.)+([a-zA-Z_][a-zA-Z_0-9]*|\*)$/
 
 /**
  * finds matching imported classes or static methods
- * @param prefix
- * @param importSpec
- * @param matches
- * @return
+ * @param importSpec an import statement without the leading 'import ' 
or trailing semicolon
+ * @return all names matching the importSpec
  */
-void collectImportedSymbols(final String importSpec, final 
Collection matches) {
+SortedSet collectImportedSymbols(final String importSpec) {
--- End diff --

we decided to be strict about such things in a bugfix release and 2.4.8 is 
one. So yeah, unless the method signature is made compatible no 2.4.x


> tab completion for static imports in groovysh does not work
> ---
>
> Key: GROOVY-7948
> URL: https://issues.apache.org/jira/browse/GROOVY-7948
> Project: Groovy
>  Issue Type: Bug
>  Components: Groovysh
>Affects Versions: 2.4.7
>Reporter: Abraham Grief
>
> Currently, if I run groovysh, and enter the following:
> {noformat}
> class MyMath {
> static int square(int x) {return x*x}
> }
> import static MyMath.*
> {noformat}
> Then enter {noformat}sq{noformat} followed by hitting the Tab key, groovysh 
> does not provided any possible auto-completions.
> Instead, hitting the Tab key should auto-complete to the square method in 
> MyMath.
> I fixed this already in my local groovy installation and can submit it as a 
> pull request if that helps.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (GROOVY-7948) tab completion for static imports in groovysh does not work

2016-10-12 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/GROOVY-7948?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15569883#comment-15569883
 ] 

ASF GitHub Bot commented on GROOVY-7948:


Github user jwagenleitner commented on a diff in the pull request:

https://github.com/apache/groovy/pull/438#discussion_r83096173
  
--- Diff: 
subprojects/groovy-groovysh/src/main/groovy/org/codehaus/groovy/tools/shell/completion/ImportsSyntaxCompletor.groovy
 ---
@@ -87,51 +78,49 @@ class ImportsSyntaxCompletor implements 
IdentifierCompletor {
 return foundMatch
 }
 
-private static final String STATIC_IMPORT_PATTERN = ~/^import static 
([a-z0-9]+\.)+[A-Z][a-zA-Z0-9]*(\.(\*|[^.]+))?$/
+private static final String STATIC_IMPORT_PATTERN = ~/^static 
([a-zA-Z_][a-zA-Z_0-9]*\.)+([a-zA-Z_][a-zA-Z_0-9]*|\*)$/
 
 /**
  * finds matching imported classes or static methods
- * @param prefix
- * @param importSpec
- * @param matches
- * @return
+ * @param importSpec an import statement without the leading 'import ' 
or trailing semicolon
+ * @return all names matching the importSpec
  */
-void collectImportedSymbols(final String importSpec, final 
Collection matches) {
+SortedSet collectImportedSymbols(final String importSpec) {
--- End diff --

While I don't think `collectImportedSymbols` was meant to be called outside 
this class there is a chance it could be since it's a public method.  So to 
avoid a breaking change and to have the chance to include this in the next 2.4 
release (2.4.8) it would be necessary to keep the `void 
collectImportedSymbols(String,Collection)` method.


> tab completion for static imports in groovysh does not work
> ---
>
> Key: GROOVY-7948
> URL: https://issues.apache.org/jira/browse/GROOVY-7948
> Project: Groovy
>  Issue Type: Bug
>  Components: Groovysh
>Affects Versions: 2.4.7
>Reporter: Abraham Grief
>
> Currently, if I run groovysh, and enter the following:
> {noformat}
> class MyMath {
> static int square(int x) {return x*x}
> }
> import static MyMath.*
> {noformat}
> Then enter {noformat}sq{noformat} followed by hitting the Tab key, groovysh 
> does not provided any possible auto-completions.
> Instead, hitting the Tab key should auto-complete to the square method in 
> MyMath.
> I fixed this already in my local groovy installation and can submit it as a 
> pull request if that helps.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (GROOVY-7948) tab completion for static imports in groovysh does not work

2016-10-05 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/GROOVY-7948?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15549618#comment-15549618
 ] 

ASF GitHub Bot commented on GROOVY-7948:


GitHub user heenenee opened a pull request:

https://github.com/apache/groovy/pull/438

GROOVY-7948: fix completion of static imports in groovysh

Fixed completion of static imports; updated unit tests; did some 
refactorings in ImportsSyntaxCompletor; added comment explaining how imports 
are stored in Groovysh.  Also did some manual testing of completion 
functionality using groovysh.bat in a cleanly built binary distribution.

You can merge this pull request into a Git repository by running:

$ git pull https://github.com/heenenee/groovy GROOVY-7948

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/groovy/pull/438.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #438


commit ff0a7208949a2d32a5be9732383436b98a36eb27
Author: Abraham Grief 
Date:   2016-10-05T18:32:43Z

GROOVY-7948: fix completion of static imports in groovysh




> tab completion for static imports in groovysh does not work
> ---
>
> Key: GROOVY-7948
> URL: https://issues.apache.org/jira/browse/GROOVY-7948
> Project: Groovy
>  Issue Type: Bug
>  Components: Groovysh
>Affects Versions: 2.4.7
>Reporter: Abraham Grief
>
> Currently, if I run groovysh, and enter the following:
> {noformat}
> class MyMath {
> static int square(int x) {return x*x}
> }
> import static MyMath.*
> {noformat}
> Then enter {noformat}sq{noformat} followed by hitting the Tab key, groovysh 
> does not provided any possible auto-completions.
> Instead, hitting the Tab key should auto-complete to the square method in 
> MyMath.
> I fixed this already in my local groovy installation and can submit it as a 
> pull request if that helps.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (GROOVY-7948) tab completion for static imports in groovysh does not work

2016-09-27 Thread John Wagenleitner (JIRA)

[ 
https://issues.apache.org/jira/browse/GROOVY-7948?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15527885#comment-15527885
 ] 

John Wagenleitner commented on GROOVY-7948:
---

Thanks for reporting the issue, a pull request would be great.

> tab completion for static imports in groovysh does not work
> ---
>
> Key: GROOVY-7948
> URL: https://issues.apache.org/jira/browse/GROOVY-7948
> Project: Groovy
>  Issue Type: Bug
>  Components: Groovysh
>Affects Versions: 2.4.7
>Reporter: Abraham Grief
>
> Currently, if I run groovysh, and enter the following:
> {noformat}
> class MyMath {
> static int square(int x) {return x*x}
> }
> import static MyMath.*
> {noformat}
> Then enter {noformat}sq{noformat} followed by hitting the Tab key, groovysh 
> does not provided any possible auto-completions.
> Instead, hitting the Tab key should auto-complete to the square method in 
> MyMath.
> I fixed this already in my local groovy installation and can submit it as a 
> pull request if that helps.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)