Jentos.Code

Monkey Forums/Monkey Programming/Jentos.Code

nerobot(Posted 2016) [#1]
Delete this post, please. I can't delete it myself.


nerobot(Posted 2016) [#2]
Delete this post, please. I can't delete it myself.


nerobot(Posted 2016) [#3]
Hi guys.
There is a new version of my Jentos IDE, that discused here http://www.monkey-x.com/Community/posts.php?topic=8288&page=first

So, it is a great and useful (I hope) update!

First of all, I rename Jentos IDE to Jentos.Code.
With saving versioning - set 1.4 version for it.

WHAT'S NEW in v1.4

Code Editor

* Not add unwanted chars " ' ) ] if they already were under cursor;
* Add "Add property dialog" - to context menu in editor and in View item of main menu. It makes property addition very simple and fast;
* Ctrl+E - remove line under cursor;
* Fix: crashed when type " ' ) ] at the end of line;
* Improve keywords capitalization (exclude it from highlighter). don't caps while we are typing word;
* Fix for go back/forward logic when after last position it’ll go to the first pos.
And now also stored pos in line - not only line number.
* Fixed: selection by Ctrl+MouseOver - not flushed earlier. And now don't move cursor to mouse pos, so it does not confuse at ctrl+c/v/x operations.
* ToolTip: show (property) instead of (method) for properties.
* Refactor code for highlight caret row and word under cursor. It looks good now.
* Improve word under cursor selection - now select in 3-screen height range, and it works for one-letter vars.
* New: show autocomplete after typing 'New_' (here: _ is space).
If ident in line has type (i.e. :Sprite) - list will contain this word, else - all classes names.
* Add ability to switch to Insert / Overwrite mode by pressing Insert key.

User Interface

* Remove "lock targets" button, and disable comboboxes without it;
* New icons, taken from icons8.com, add link to it into About dialog;
* Add "Class Info" button to Source dock panel; also replace text buttons to iconic in this panel;
* Add Undo/Redo buttons into Toolbar;
* Refactor for theme adjusting.
If try to set incorrect theme - it changed to default - QtCreator.
Not set editor colors automatically when change theme.

Analyzer

* Add parsing of properties ('property' keyword);
* Add parsing of private section of a classes;
* Improve parsing of := , including 'eachin' case. It understand many new cases now.
* Improve: if ident type look like ? # % $ then it will be added with correct type Bool / Int / Float / String - including funcs and params types.
* Remove snippets logic from autoformat function - here is a bad place for it. Someone use it?

Options

* Add option "Show autocomplete list after X typed chars" (it was 3);
* Open Paths section in options dialog when monkey path isn't set (usually, on first start);
* New option: "Capitalize keywords";
* New option: "Add ':Void' for methods" if they have no return type (on/off in Options -- Analyzer);
* Combine panels Editor and Themes;
* Add ability to change editor colors; changes adjusting immediately from color chooser dialog;
* Add option "Show line numbers".

Common

* Fixed: Slow down when restore window from minimized state.
Oh! showEvent is emitted on restore, but it have overhead - show splash within 2 sec waiting, parse all monkey modules! Changed this logic;
* Add "Save on close" dialog - it allow to select files to be saved;
* Update info in About dialog - add link to site with icons and add new link to donation - my own donation page.
* Window title now updating according to current open document. With ‘modified’ star symbol.
* Fix: app crash after closing tab with code file - when a few files is opened.

NOTES

I didn't working on real project while developing new version - but only test things.
So, not all features can work properly.
(And I commented some code from 'open file in Project view' section - planning to write correct logic for working with Project entity).

New sources are available on github: https://github.com/engor/Jentos_IDE
Based on Qt 5.3.

Download windows version from Dropbox: https://www.dropbox.com/s/j5j6hozguhiqpxy/Jentos.Code_v1.4.zip?dl=0

Please, try and give me feedback.
Enjoy coding! :)


abakobo(Posted 2016) [#4]
i'm astonished!

two weeks ago I found some one year old repos with some syntax error and now there's is two separately maintained ones!


Paul - Taiphoz(Posted 2016) [#5]
The joy's of open source.


abakobo(Posted 2016) [#6]
build and runs ok on osx

the target and release/debug choices are kind of too small and you have to go back to debug with the keyboard...

Don't know wich version to use now (malublu or engor)....? Don't you want guys to merge some things? malublu has set a full working CI for all three targets...
I personally prefer the icons in jentos.code
happy with jentos anyway ;)


nerobot(Posted 2016) [#7]
abakobo, thanks for replies!
What things from malublu fork do you need in jentos.code expect of CI feature?
And can you build osx version and post the link here?


nerobot(Posted 2016) [#8]
Some screensots.








malublu(Posted 2016) [#9]
Hey nerobot, what you say about merging the 2 works.
I also can help to improve the Software.
I also work on the new build scrips and we can use my server.


nerobot(Posted 2016) [#10]
Let's merge - it's good idea, create one the best ide!
How to do merge?


nerobot(Posted 2016) [#11]
I just realize pro-feature! :)
Show hint for methods parameters.



abakobo(Posted 2016) [#12]
@nerobot
here's the osx build: https://yadi.sk/d/Bk58ZyiGqMMGP

@malublu and nerobot

malubu's seems to be more stable (had no crash for now)

nerobot's custom theme editor is working wich is great! the preference window is a bit small and you have to guess it's there (scroll down)

I rather like the classical icons on nerobot's, it's more readable.

on both versions:
It's true the indentation thing is weird. tried ctrl+enter but it made nothing.
Would be good to have a full auto indent (by fold+elseif)

The folding is not behaving consistently (some "If" not detected, some comments line detected as fold_line...) The folowing code should show it. It behaves the same way on both jentos. (line 47,75,118 and next not detected line 69,97,98)



nerobot(Posted 2016) [#13]
@abakobo, thanks for the build!

About your code:
1. Your "if"s in Update method have the same indent as the method declaration - it's a mistake, because parser based on indentation.
2. If's closed with Endif, but parser expect End keyword for all blocks. It's easy to correct, add to todo.
3. Inside if - endif you have empty lines with smaller indentation then if declaration - will be fixed soon.
4. App crashes when I go from line to line - a bug in autocaps first letter, fixed.

For full auto indent - difficult case is the if block, that can be single-line or multi-line.

It's good idea to post here problematic code block to test and fix it. :)


malublu(Posted 2016) [#14]
@nerobot
If you want, I can merge your stuff.
It's a little bit hard to compare both but it should work.


nerobot(Posted 2016) [#15]
@malublu
I compared your fork with luis's one - you made some changes in code, not many.
I did a few the same changes as you (sorry, I didn't know that your were working on fork).
I think, It's simpler to merge your changes into my repos.
But I found, that some changes is make code more readable and OOP, but not influence on functionality.
Don't know, need to merge it or not.
And you replace WebView with WebEngineView - what profit do we get with it?
(I read about all of them, webengine is better, but webview is quite sufficient for our needs).

Cool feature of your fork is CI-automatization! I want the same. :)

Also, I want to develop in Qt 5.3 - so, qt libs will be actual for new releases, not need to download new ones.
And it's easy to make updater (at least for windows), that will be download newest executable and replace old version.
But you use a newer version of Qt, and with it we already have difference in code at line
QString fileinvalids[fileinvalidsnum] = {"png","ico","jpg","gif"}; - Qt 5.3 not allow to use such array declaration.
(need to convert this array to QStringList - it will be easy to use and work fine in any Qt version).

In the end - I prefer to save my repos as main, with your improvements.
In any case, you can merge my changes into your repos.


nerobot(Posted 2016) [#16]
@abakobo
Try new version from my dev branch.
I improve parser, so all your blocks foldings now look correct.


malublu(Posted 2016) [#17]
Yes i can merge my stuff in your repo. I have make a pull request on your repo. But it's
But we should use my server and build script <3 ^^
(I make an update for the buildscripts to support your repo)
I would hard work on jentos! So i hope we can work together, to make the one best open source IDE for monkey. Not two.
If you want i can manage the travis script (and appveyor)

I prefer OOP and more readable Code, so i hope you have no problems with it ;)
WebEngineView vs Webkitview
I replace webengineview, because webkit is in the new QT (5.5<=) depegraded.
But if we work with QT 5.3 we should not replace it.

// In any case, you can merge my changes into your repos.

Please stop it ^^. I pfrefer one repo.

What do you think about that one of my target is to replace hardcoded themes to installable?
I also would like work on a github page and a wiki.

I there a chance to contact you via Skype or other Chat?


P.s. yes i also work on my bad english ^^


nerobot(Posted 2016) [#18]
> I would hard work on jentos! So i hope we can work together, to make the one best open source IDE for monkey. Not two.
Yeah! Very good.

> If you want i can manage the travis script (and appveyor)
Ok.

> I prefer OOP and more readable Code
Me too. But I don't refactor things that I don't touch for improvement. I prefer to write new OOP code, but don't want and don't have time to rewrite all.

> What do you think about that one of my target is to replace hardcoded themes to installable?
Is it important feature? Don't know.
I saw you make step to load snippets from file - good. In my code I remove snippet logic because it was hardcoded.

> P.s. yes i also work on my bad english ^^
And me too, I'm russian.

For now, you need to compare our repos, and say what do you improve that my repos not contain yet.
And we add this stuff.
And then we will can work on one repos together.
Right?


nerobot(Posted 2016) [#19]
@malublu
Look at dev-branch.


malublu(Posted 2016) [#20]
// Is it important feature? Don't know.

Not very important, but we sohould work on it (in the feature)

// And then we will can work on one repos together.

Yes, if you like.


// Look at dev-branch.
I'm looking

I like the fix: Improve keywords capitalization
Very good, i also wanted to work, but you was faster.

Nice:
paramsToolTip

One Question about QT.
I see you use:
QGuiApplication::setOverrideCursor(QCursor(Qt::PointingHandCursor));

But with it you override the application cursor not the viewport (CodeEditor) cursor
Is that faster?
Why you use not viewport()->setCursor()

I fix many bugs that you also fixed yet. But i must compare more.


nerobot(Posted 2016) [#21]
> Why you use not viewport()->setCursor()
QGuiApplication::setOverrideCursor has a pair QGuiApplication::restoreOverrideCursor, so I don't need to care about previous cursor.
faster or not I don't know. :)
And I think the difference is minimal.

Do you work with trello.com? I use it for my todo, including jentos - https://trello.com/b/lAdOU94A/jentos-code

> I there a chance to contact you via Skype or other Chat?
skype: eugeny.goroshkin


nerobot(Posted 2016) [#22]
In trello we can separate tasks.
1. Create common list of tasks for new release.
2. Create my and your task lists (empty).
3. Each of us will take desired task from common list and work on it.


malublu(Posted 2016) [#23]
> trello.com
not yet

> Each of us will take desired task from common list and work on it.
Let us do it!


nerobot(Posted 2016) [#24]
So, I'm and malublu started the joint development.
You can monitor dev process at our public trello board - https://trello.com/b/lAdOU94A/jentos-code.


Bilbo(Posted 2016) [#25]
Hi Downloaded 1.4 to try,but needed to copy libstdc++-6.dll to Jentos code folder to run.Think you forgot to add this .dll in the download.


nerobot(Posted 2016) [#26]
@Bilbo
Forgot, thanks.
I use qtdeploywin.exe utility to get release. Why it don't add all libs!


malublu(Posted 2016) [#27]
The new Website is created:
http://engor.github.io/Jentos_IDE/


Shinkiro1(Posted 2016) [#28]
The OSX version is not starting. "There was a problem with Jentos.Code. Please contact the developer"
I am using 10.11


Paul - Taiphoz(Posted 2016) [#29]
do us all a favour and make the download link a little more obvious on the new page pls.


DruggedBunny(Posted 2016) [#30]
How do you actually download it?


abakobo(Posted 2016) [#31]
there's this page:
http://jentos_ide.malublu.de/
but I think it's malublu's fork's builds, it doesn't seem to be fully merged with engor's for now. This page should give osx linux and win32 but looks like it's wip and win 32 is missing because there is both dev and master branch auto-triggered.
I can get the win32 on appveyor through the readme.md: https://ci.appveyor.com/project/malublu/jentos-ide-ym5ha/build/artifacts
but I don't undestand how to find "artifacts" in travis CI (osx and linux)


malublu(Posted 2016) [#32]
the building of jentos.code not working perfect for linux or macos.
I working on it.
If you see on my old download page (i will remove it in the feature) the builds are from jentos.code
http://jentos_ide.malublu.de/
the builds are incorrect.
Please stand by.


Paul - Taiphoz(Posted 2016) [#33]
I would like to be able to highlight the following things with their own colours, Fields, Methods, Functions,locals,globals and constants.
Would also love to be able to make any of the syntax highlighting entries bold or normal.

The easier it is for me to read text the easier it is for me to code.


abakobo(Posted 2016) [#34]
some little bugs:
the .config/ .ini setup file (remember opened files & themes &...) is not writen when quitting thru menu but records when quitting with the upper corner cross (on el capitan)

I have to click on "reset to default theme color" to get my theme modification visible. (el capitan too)


a little question:
how can I create a project? I can see "open project" and a project window but no "save/new project"


malublu(Posted 2016) [#35]
Comming soon:
Faster download Server ;)
http://imgur.com/iWJTn13
with better donwload page design.
That i can provide the downloads better ;).
> how can I create a project?
only dir project are avaible in jentos.code (no project config file).


nerobot(Posted 2016) [#36]
Yes - you can only choose project folder.
And what do you want to do with project?
In jentos we haven't usages for files including in project only, but project folder using for show files in project tree, so you can see it without explorer.
In the feature I want to add support for true project structure, but don't know is it important for monkey.
I'll see.


abakobo(Posted 2016) [#37]
project folder seems good enough

this would be nice if not already there...
http://www.monkey-x.com/Community/posts.php?topic=9668


nerobot(Posted 2016) [#38]
New version 1.4.1 is available on github on dev branch with tag v1.4.1.
https://github.com/engor/Jentos_IDE/tree/dev

What's new:
* Parser - add - rules for endif and "netx i"
* Parser - improve - skip for empty lines when check scope
* Parser - improve - do not capitalize keywords inside of strings.
* Editor - add - open images by double-click in project area.
* Editor - add - selection for pair brackets.
* Editor - improve - remove autocompletion when cursor is inside of string.
* Editor - fix - crash that occur if there are 3 or less items in autocomplete list.
* Editor - fix - locked file doesn't stored in settings.

Little more stable version!

ps: Support me is welcome. :)
https://www.paypal.me/engor


malublu(Posted 2016) [#39]
Linux and osx build can be download here: http://jentos_ide.malublu.de/
Windows ... there is a build script bug ... i try to fix it.


nerobot(Posted 2016) [#40]
I'll build win version tomorrow.


malublu(Posted 2016) [#41]
I created it already manually.
Also avaible under http://jentos_ide.malublu.de/ - win32
Directlink: http://jentos_ide.malublu.de/download.php?d=win32-bfa0b406c09bb8916053cd5f9a9c557796a208aa-dev.zip


Lugato(Posted 2016) [#42]
Malublu,

I got a error when try in osx :

Process: Jentos.Code [518]
Path: /Users/USER/Downloads/*/Jentos.Code.app/Contents/MacOS/Jentos.Code
Identifier: com.yourcompany.Jentos.Code
Version: ???
Code Type: X86-64 (Native)
Parent Process: ??? [1]
Responsible: Jentos.Code [518]
User ID: 501

Date/Time: 2016-08-24 08:32:43.925 -0300
OS Version: Mac OS X 10.11 (15A279b)
Report Version: 11
Anonymous UUID: 4AEA5C03-4B4E-8683-CE83-0C50FC241BB5


Time Awake Since Boot: 450 seconds

System Integrity Protection: enabled

Crashed Thread: 0

Exception Type: EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000002, 0x0000000000000000
Exception Note: EXC_CORPSE_NOTIFY

Application Specific Information:
dyld: launch, loading dependent libraries

Dyld Error Message:
Library not loaded: /usr/local/opt/qt55/lib/QtWebKitWidgets.framework/Versions/5/QtWebKitWidgets
Referenced from: /Users/USER/Downloads/*/Jentos.Code.app/Contents/MacOS/Jentos.Code
Reason: image not found

Binary Images:
0x7fff61278000 - 0x7fff612aef5f dyld (360.14) <DF977301-4A63-32ED-9939-1EE3122D18D4> /usr/lib/dyld

Model: MacBook6,1, BootROM MB61.00C8.B02, 2 processors, Intel Core 2 Duo, 2.26 GHz, 8 GB, SMC 1.51f53
Graphics: NVIDIA GeForce 9400M, NVIDIA GeForce 9400M, PCI, 256 MB
Memory Module: BANK 0/DIMM0, 4 GB, DDR3, 1333 MHz, 0x0198, 0x393930353432382D3037312E4130304C4620
Memory Module: BANK 1/DIMM0, 4 GB, DDR3, 1333 MHz, 0x0198, 0x393930353432382D3037312E4130304C4620
AirPort: spairport_wireless_card_type_airport_extreme (0x14E4, 0x93), Broadcom BCM43xx 1.0 (5.106.98.100.24)
Bluetooth: Version 4.4.0f4 16320, 3 services, 27 devices, 1 incoming serial ports
Network Service: Wi-Fi, AirPort, en1
Serial ATA Device: KINGSTON SV300S37A120G, 120.03 GB
Serial ATA Device: MATSHITADVD-R UJ-898
USB Device: USB Bus
USB Device: BRCM2070 Hub
USB Device: Bluetooth USB Host Controller
USB Device: USB Bus
USB Device: Apple Internal Keyboard / Trackpad
USB Device: USB 2.0 Bus
USB Device: Built-in iSight
USB Device: External
USB Device: USB 2.0 Bus
USB Device: SAMSUNG_Android
Thunderbolt Bus:


malublu(Posted 2016) [#43]
i fix it :) macdeploy not work correctly :D try it again, but before, download again ;)


k.o.g.(Posted 2016) [#44]
On OSX the Jentos.Code crashes many times, when i start to write import then after whitespace


nerobot(Posted 2016) [#45]
@k.o.g., is it in version 1.4.1?


k.o.g.(Posted 2016) [#46]
Yes Version 1.4.1, btw. all Menu Items are UPPERCASE, it looks not good ;)


nerobot(Posted 2016) [#47]
1. It crashed everytime when you type Import? Can you put here some code with bug and line number which triggers bug. (I have no mac)
2. Uppercase like in visual studio. :)
3. This ide using only a few people, so I don't plan to improve it. But willing to fix bugs.


k.o.g.(Posted 2016) [#48]
1. I can't reconstruct the bug :/ it happens randomly sorry
2. yay in Visual Studio on Windows, i think it looks good, but on a mac, it doesn't :D
3. the only thing i can say, JentosIDE from malublu has thing issue not, but thank you for your work!


linuxfranz(Posted 2016) [#49]
malublu, is it possible that there is no linux build for version 1.4.1? On your site I could only find linux binaries for 1.4


DruggedBunny(Posted 2016) [#50]
Just tried the latest Windows version, really nice!* Thanks, malublu!

[* Apart from the all-capital menus, hate this in VS too.]


nerobot(Posted 2016) [#51]
It's my version, hehe.


nerobot(Posted 2016) [#52]
Just commited version without caps in menu.
Windows: https://www.dropbox.com/s/91wekrxhzyj7ecu/Jentos.Code_1.4.1.zip?dl=0


Pakz(Posted 2016) [#53]
I just tried the latest version. It crashed in the first few minutes of using it. I was not able to replicate the crash. I happened while editing a code file in a temp project. I was creating a class (openlist "end class" part) inside a class(testing) when it happened.

Using windows version 1.41 on windows 10 with 8gb of ram.


nerobot(Posted 2016) [#54]
> I was not able to replicate the crash.
Please notify if you can understand the reason.