bjansen / idealeek Goto Github PK
View Code? Open in Web Editor NEW[ON HOLD] IntelliJ support for LeekScript (https://leekwars.com/)
License: GNU General Public License v3.0
[ON HOLD] IntelliJ support for LeekScript (https://leekwars.com/)
License: GNU General Public License v3.0
Hello,
I'm using phpStorm and I can't create a leekWars project.
I can create a leekWars file.
Thank you,
Create a "LeekScript project" wizard, which asks for credentials if they are not configured, then automatically downloads API and scripts (#13).
Also add a "new LeekScript file" menu item instead of creating an empty text file. The default template will be used (see LeekWars' default code).
**; &, |, ^, <<, >>, >>>
"zeus" should be highlighted here:
function zeu<caret>s() {
}
[key1: value1, key2: value2]
do/while
undefined
Parse and highlight leekdoc tags
Use the leekdoc in quick documentation, annotators etc.
The code formatter should add a double indentation when an expression is split into multiple lines (e.g. if condition)
Hi bjansen,
is it still working on 2019 ?
i could not connect to leekwars with my credential (no proxy)
to included scripts
var sum = 0;
is invalid, should be underlined
String index out of range: -1
java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.lang.String.substring(String.java:1954)
at com.plopiplop.leekwars.transformer.FunctionParser.parseMap(FunctionParser.java:49)
at com.plopiplop.leekwars.transformer.FunctionParser.parse(FunctionParser.java:39)
at com.plopiplop.leekwars.actions.UpdateAPITask.parseDocumentation(UpdateAPITask.java:112)
at com.plopiplop.leekwars.actions.UpdateAPITask.access$100(UpdateAPITask.java:36)
at com.plopiplop.leekwars.actions.UpdateAPITask$1.doAction(UpdateAPITask.java:56)
at com.plopiplop.leekwars.model.LeekWarsServer.callAction(LeekWarsServer.java:46)
at com.plopiplop.leekwars.actions.UpdateAPITask.run(UpdateAPITask.java:49)
at com.intellij.openapi.vcs.changes.RunnableBackgroundableWrapper.run(RunnableBackgroundableWrapper.java:33)
at com.intellij.openapi.progress.impl.ProgressManagerImpl$TaskRunnable.run(ProgressManagerImpl.java:481)
at com.intellij.openapi.progress.impl.ProgressManagerImpl$2.run(ProgressManagerImpl.java:180)
at com.intellij.openapi.progress.ProgressManager.executeProcessUnderProgress(ProgressManager.java:193)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:214)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.runProcess(ProgressManagerImpl.java:167)
at com.intellij.openapi.progress.impl.ProgressManagerImpl$8.run(ProgressManagerImpl.java:390)
at com.intellij.openapi.application.impl.ApplicationImpl$9.run(ApplicationImpl.java:446)
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:744)
at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:149)
Overloads are only available in leekwars-api.lks
+=, -= etc.
but don't resolve them in the while condition (see http://leekwars.com/forum/category-6/topic-1297)
Constants in another color
API functions in bold/italic?
The variable lowestLife
is not suggested in the following context:
function getWeakestAlly() {
var lowestLife = null;
for (var ally in allies) {
if (low<caret>)
}
}
See http://leekwars.com/forum/category-6/topic-1878
var f = getLife;
debug(f());
debug(f(getNearestEnemy()));
var coin = function(a, b, c) {
};
Show merge window if local and remote files are different and can't be merge automatically.
Should this be some kind of VCS support like svn/git (although we don't track versions)?
Merge Update API
and Download scripts
in a single action which will:
leekwars-api.lks
Ajout du passage par référence dans les fonctions utilisateurs via l'opérateur @.
https://github.com/GuimDev/LeeKloud
We'll surely need to change the way files are named (and change their extension)
"Ajout de la structure for (var key : var value in array) { ... }."
e.g. "opérateurs" => "opérateurs.lks" wheareas it should be "opérateurs.lks"
When editing a script, it should be possible to configure a max. level so that:
Plugin version : commit 36bdda3 (I cloned the repo, compiled and installed the plugin)
Issue
This code is not parsed correctly, whereas it work in leekwars.com :
function b() {
return "test";
}
function a() {
return b;
}
a()(); <--- error here, but it's a legal instruction
Workaround
function b() {
return "test";
}
function a() {
return b;
}
var fb = a();
fb();
Bonjour, serait-il possible de packager le plugin de manière à ce qu'il soit compatible avec tout les ide jetbrains (et webstorm en particulier dans mon cas) et pas uniquement avec intelliJ ?
java.lang.IllegalStateException: @NotNull method com/plopiplop/leekwars/lang/LSStructureViewModel$LSStructureViewTreeElement.getPresentation must not return null
java.lang.RuntimeException: java.lang.IllegalStateException: @NotNull method com/plopiplop/leekwars/lang/LSStructureViewModel$LSStructureViewTreeElement.getPresentation must not return null
at com.intellij.ide.util.treeView.AbstractTreeUi$57$1.run(AbstractTreeUi.java:3418)
at com.intellij.ide.util.treeView.AbstractTreeBuilder$4.run(AbstractTreeBuilder.java:473)
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:941)
at com.intellij.ide.util.treeView.AbstractTreeBuilder.runBackgroundLoading(AbstractTreeBuilder.java:470)
at com.intellij.ide.util.treeView.AbstractTreeUi$57.run(AbstractTreeUi.java:3373)
at com.intellij.openapi.progress.impl.ProgressManagerImpl$2.run(ProgressManagerImpl.java:180)
at com.intellij.openapi.progress.ProgressManager.executeProcessUnderProgress(ProgressManager.java:193)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:214)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.runProcess(ProgressManagerImpl.java:167)
at com.intellij.ide.util.treeView.AbstractTreeUi$58.run(AbstractTreeUi.java:3435)
at com.intellij.util.concurrency.WorkerThread.run(WorkerThread.java:108)
at com.intellij.openapi.application.impl.ApplicationImpl$9.run(ApplicationImpl.java:446)
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:744)
at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:149)
Caused by: java.lang.IllegalStateException: @NotNull method com/plopiplop/leekwars/lang/LSStructureViewModel$LSStructureViewTreeElement.getPresentation must not return null
at com.plopiplop.leekwars.lang.LSStructureViewModel$LSStructureViewTreeElement.getPresentation(LSStructureViewModel.java:76)
at com.intellij.ide.util.treeView.smartTree.TreeElementWrapper.update(TreeElementWrapper.java:41)
at com.intellij.ide.util.treeView.PresentableNodeDescriptor.getUpdatedPresentation(PresentableNodeDescriptor.java:88)
at com.intellij.ide.util.treeView.PresentableNodeDescriptor.update(PresentableNodeDescriptor.java:41)
at com.intellij.ide.util.treeView.AbstractTreeBuilder.updateNodeDescriptor(AbstractTreeBuilder.java:594)
at com.intellij.ide.util.treeView.AbstractTreeUi$21.run(AbstractTreeUi.java:940)
at com.intellij.ide.util.treeView.AbstractTreeUi.execute(AbstractTreeUi.java:1826)
at com.intellij.ide.util.treeView.AbstractTreeUi.update(AbstractTreeUi.java:936)
at com.intellij.ide.util.treeView.AbstractTreeUi.update(AbstractTreeUi.java:859)
at com.intellij.ide.util.treeView.AbstractTreeUi.access$1500(AbstractTreeUi.java:61)
at com.intellij.ide.util.treeView.AbstractTreeUi$46$1.run(AbstractTreeUi.java:2713)
at com.intellij.ide.util.treeView.AbstractTreeUi.execute(AbstractTreeUi.java:1826)
at com.intellij.ide.util.treeView.AbstractTreeUi.access$2400(AbstractTreeUi.java:61)
at com.intellij.ide.util.treeView.AbstractTreeUi$46.run(AbstractTreeUi.java:2710)
at com.intellij.ide.util.treeView.AbstractTreeUi.execute(AbstractTreeUi.java:1826)
at com.intellij.ide.util.treeView.AbstractTreeUi.access$2400(AbstractTreeUi.java:61)
at com.intellij.ide.util.treeView.AbstractTreeUi$57$1.run(AbstractTreeUi.java:3382)
... 17 more
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.