a2ndrade / q-intellij-plugin Goto Github PK
View Code? Open in Web Editor NEWq/k4 language (kx.com) plugin for JetBrains IDEs
License: Other
q/k4 language (kx.com) plugin for JetBrains IDEs
License: Other
It would be great if q plugin supported execution of current line on a remote server as it'd reduce number of actions needed to achieve that. Now it requires: Ctrl+c, Ctrl+Alt+e. Single shortcut would be awesome
@a2ndrade - feature request. Currently autocomplete suggests matches from the entire project, including the ones flagged as private/internal. I think it would make sense to only include private/internal suggestions from the current file.
Just installed plugin, created simple q file with two lines
f:10 {x,sum -2#x}/ 1 1
-1#f
Got warning from IDE (IDEA 2018.1)
null
java.lang.NullPointerException
at com.appian.intellij.k.KCompletionContributor$1.addCompletions(KCompletionContributor.java:68)
at com.intellij.codeInsight.completion.CompletionProvider.addCompletionVariants(CompletionProvider.java:36)
at com.intellij.codeInsight.completion.CompletionContributor.fillCompletionVariants(CompletionContributor.java:143)
at com.intellij.codeInsight.completion.CompletionService.getVariantsFromContributors(CompletionService.java:84)
at com.intellij.codeInsight.completion.CompletionResultSet.runRemainingContributors(CompletionResultSet.java:149)
at com.intellij.codeInsight.completion.CompletionResultSet.runRemainingContributors(CompletionResultSet.java:142)
at com.intellij.codeInsight.template.impl.LiveTemplateCompletionContributor$2.addCompletions(LiveTemplateCompletionContributor.java:90)
at com.intellij.codeInsight.completion.CompletionProvider.addCompletionVariants(CompletionProvider.java:36)
at com.intellij.codeInsight.completion.CompletionContributor.fillCompletionVariants(CompletionContributor.java:143)
at com.intellij.codeInsight.completion.CompletionService.getVariantsFromContributors(CompletionService.java:84)
at com.intellij.codeInsight.completion.CompletionService.performCompletion(CompletionService.java:116)
at com.intellij.codeInsight.completion.CompletionProgressIndicator.calculateItems(CompletionProgressIndicator.java:812)
at com.intellij.codeInsight.completion.CompletionProgressIndicator.runContributors(CompletionProgressIndicator.java:797)
at com.intellij.codeInsight.completion.CodeCompletionHandlerBase.lambda$null$2(CodeCompletionHandlerBase.java:293)
at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1134)
at com.intellij.codeInsight.completion.AsyncCompletion.tryReadOrCancel(CompletionThreading.java:181)
at com.intellij.codeInsight.completion.CodeCompletionHandlerBase.lambda$doComplete$3(CodeCompletionHandlerBase.java:290)
at com.intellij.codeInsight.completion.AsyncCompletion.lambda$null$0(CompletionThreading.java:108)
at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$1(CoreProgressManager.java:157)
at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:580)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:525)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:85)
at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:144)
at com.intellij.codeInsight.completion.AsyncCompletion.lambda$startThread$1(CompletionThreading.java:104)
at com.intellij.openapi.application.impl.ApplicationImpl$1.run(ApplicationImpl.java:305)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
java.lang.NullPointerException
at com.appian.intellij.k.KCompletionContributor$1.addCompletions(KCompletionContributor.java:68)
at com.intellij.codeInsight.completion.CompletionProvider.addCompletionVariants(CompletionProvider.java:36)
at com.intellij.codeInsight.completion.CompletionContributor.fillCompletionVariants(CompletionContributor.java:143)
at com.intellij.codeInsight.completion.CompletionService.getVariantsFromContributors(CompletionService.java:84)
at com.intellij.codeInsight.completion.CompletionResultSet.runRemainingContributors(CompletionResultSet.java:149)
at com.intellij.codeInsight.completion.CompletionResultSet.runRemainingContributors(CompletionResultSet.java:142)
at com.intellij.codeInsight.template.impl.LiveTemplateCompletionContributor$2.addCompletions(LiveTemplateCompletionContributor.java:90)
at com.intellij.codeInsight.completion.CompletionProvider.addCompletionVariants(CompletionProvider.java:36)
at com.intellij.codeInsight.completion.CompletionContributor.fillCompletionVariants(CompletionContributor.java:143)
at com.intellij.codeInsight.completion.CompletionService.getVariantsFromContributors(CompletionService.java:84)
at com.intellij.codeInsight.completion.CompletionService.performCompletion(CompletionService.java:116)
at com.intellij.codeInsight.completion.CompletionProgressIndicator.calculateItems(CompletionProgressIndicator.java:812)
at com.intellij.codeInsight.completion.CompletionProgressIndicator.runContributors(CompletionProgressIndicator.java:797)
at com.intellij.codeInsight.completion.CodeCompletionHandlerBase.lambda$null$2(CodeCompletionHandlerBase.java:293)
at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1134)
at com.intellij.codeInsight.completion.AsyncCompletion.tryReadOrCancel(CompletionThreading.java:181)
at com.intellij.codeInsight.completion.CodeCompletionHandlerBase.lambda$doComplete$3(CodeCompletionHandlerBase.java:290)
at com.intellij.codeInsight.completion.AsyncCompletion.lambda$null$0(CompletionThreading.java:108)
at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$1(CoreProgressManager.java:157)
at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:580)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:525)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:85)
at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:144)
at com.intellij.codeInsight.completion.AsyncCompletion.lambda$startThread$1(CompletionThreading.java:104)
at com.intellij.openapi.application.impl.ApplicationImpl$1.run(ApplicationImpl.java:305)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
In \src\main\java\com\appian\intellij\k\KIcons.java, it references a path for the icon. When plugin is loaded into intelliJ and you click on file types, you get an error - could not load class com.appian.intellij.k.KIcons.java.
I had to update it to be:
``
from: IconLoader.getIcon("/com/appian/intellij/k/k.png");
to : IconLoader.getIcon("icon.png");
``
Also made resources marked as resources root
Just like stated in the description - if a project has global variable defined in multiple files (legitimate use case for this is when you have multiple "main" scripts), all instances will appear in autocomplete suggestions. This is not really necessary and can be inconvenient.
for example something like
c: select a, b
from
b;
And also if there is a syntax error in a file that seems to break Usages and Go To Definition completely for the whole file unfortunately.
It seems parser fails when sees that q code
(types;separator) 0:/: listofdata
P.S. absolutely amazing plugin!
Steps to reproduce:
I am confused about version. On https://plugins.jetbrains.com/plugin/7925-q it says latest is 1.24 released April 21 2020.
But inside PyCharm it shows: plugin version 1.9 and released April 20 2020.
Anyways, the bug is:
ctrl+shift+f popup dialogue is not working. It keeps flickering "Nothing to show" (liek 5 times per second).
If I click "Open in Find Window" I immediately see result.
Can you please enable spell checking in the q comments?
On https://stackoverflow.com/questions/12445117/intellij-idea-how-to-enable-spellchecking-for-custom-language-plugins#12445649, it is written:
"End users can't force the spellchecker for the file types that are provided by the third-party plug-ins. Plugin maintainer needs to support it explicitly."
First, thanks for developing awesome plugin!
Now to the issue: using version 1.5 of the plugin. Please use attached files to reproduce. Do F6, rename f1 in t1.q to f3. The rename works correctly - both function definition and all usages are updated correctly. However, if I try to find usages of f3 now, nothing's found. Ctrl+Click on invocation of f3 does not work either.
Using v1.7.
To reproduce - rename a function, undo rename (Ctrl+Z) - Ctrl+Click & Alt+F7 stop working.
For example file name "load.q" is parsed and "data.load.q" is not parsed.
I have syntax highlighting in it, but ctrl+click does not navigate to functions defined in that file: neither within file nor from other files.
Hi,
Thank you for putting together a great plugin!!
Would it be possible to update the project to be compatible with intellij 2020.3?
Thank you
Using v1.7
while/do/if in the sample below will be flagged as potentially uninitialized variables instead of being treated as keywords. Works correctly if there is no space between keyword and open bracket [.
i:0;
while [i<3; i+:1];
do [3; i+:1];
if [i>5; 0N!i];
Please delete
<depends>com.intellij.modules.java</depends>
This will make other IDEs to load this amazing plugin.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.