Re: How to write Good IDE?

2017-02-05 Thread unDEFER via Digitalmars-d

On Sunday, 5 February 2017 at 17:11:02 UTC, MGW wrote:

On Sunday, 5 February 2017 at 16:16:42 UTC, unDEFER wrote:

On Sunday, 5 February 2017 at 14:37:48 UTC, MGW wrote:



Can't load libQtE5Widgets64.so from current directory.
Tried
$ export LD_LIBRARY_PATH=`pwd`; ./ide5 -i pr1.ini
$ export LIBRARY_PATH=`pwd`; ./ide5 -i pr1.ini
$ sudo ldconfig `pwd`

Nothing helps..


Existence of Qt-5, including QScript is necessary. You have to 
provide existence of dependent libraries.


I have:
./libQtE5Widgets64.so: 
/usr/lib/x86_64-linux-gnu/libQt5Script.so.5: version `Qt_5' not 
found (required by ./libQtE5Widgets64.so)
./libQtE5Widgets64.so: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5: 
version `Qt_5.6' not found (required by ./libQtE5Widgets64.so)
./libQtE5Widgets64.so: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5: 
version `Qt_5' not found (required by ./libQtE5Widgets64.so)
./libQtE5Widgets64.so: 
/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5: version `Qt_5' not 
found (required by ./libQtE5Widgets64.so)
./libQtE5Widgets64.so: /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5: 
version `Qt_5' not found (required by ./libQtE5Widgets64.so)


Although e.g.
$ ls -l /usr/lib/x86_64-linux-gnu/libQt5Script.so.5
lrwxrwxrwx 1 root root 21 ноя 30  2015 
/usr/lib/x86_64-linux-gnu/libQt5Script.so.5 -> 
libQt5Script.so.5.5.1

$ ls -l /usr/lib/x86_64-linux-gnu/libQt5Script.so.5.5.1
-rw-r--r-- 1 root root 2508384 ноя 30  2015 
/usr/lib/x86_64-linux-gnu/libQt5Script.so.5.5.1


Seems you want Qt 5.6


Re: How to write Good IDE?

2017-02-05 Thread MGW via Digitalmars-d

On Sunday, 5 February 2017 at 16:16:42 UTC, unDEFER wrote:

On Sunday, 5 February 2017 at 14:37:48 UTC, MGW wrote:



Can't load libQtE5Widgets64.so from current directory.
Tried
$ export LD_LIBRARY_PATH=`pwd`; ./ide5 -i pr1.ini
$ export LIBRARY_PATH=`pwd`; ./ide5 -i pr1.ini
$ sudo ldconfig `pwd`

Nothing helps..


Existence of Qt-5, including QScript is necessary. You have to 
provide existence of dependent libraries.


[gena@localhost qte5]$ ldd libQtE5Widgets64.so
linux-vdso.so.1 (0x7fff03a2c000)
libQt5Widgets.so.5 => /lib64/libQt5Widgets.so.5 
(0x7f20b01c2000)
libQt5Gui.so.5 => /lib64/libQt5Gui.so.5 
(0x7f20afd1a000)
libQt5Script.so.5 => /lib64/libQt5Script.so.5 
(0x7f20afa7a000)
libQt5Core.so.5 => /lib64/libQt5Core.so.5 
(0x7f20af5ea000)
libGL.so.1 => /usr/lib64/libglvnd/libGL.so.1 
(0x7f20af36a000)
libpthread.so.0 => /lib64/libpthread.so.0 
(0x7f20af14a000)
libstdc++.so.6 => /lib64/libstdc++.so.6 
(0x7f20aedc2000)

libm.so.6 => /lib64/libm.so.6 (0x7f20aeab2000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x7f20ae89a000)
libc.so.6 => /lib64/libc.so.6 (0x7f20ae4d2000)
libharfbuzz.so.0 => /lib64/libharfbuzz.so.0 
(0x7f20ae26a000)

libz.so.1 => /lib64/libz.so.1 (0x7f20ae052000)
libpng16.so.16 => /lib64/libpng16.so.16 
(0x7f20ade1a000)
libicui18n.so.57 => /lib64/libicui18n.so.57 
(0x7f20ad9a2000)
libicuuc.so.57 => /lib64/libicuuc.so.57 
(0x7f20ad5f2000)
libicudata.so.57 => /lib64/libicudata.so.57 
(0x7f20abb72000)
libpcre16.so.0 => /lib64/libpcre16.so.0 
(0x7f20ab902000)

libdl.so.2 => /lib64/libdl.so.2 (0x7f20ab6fa000)
libgthread-2.0.so.0 => /lib64/libgthread-2.0.so.0 
(0x7f20ab4f2000)
libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 
(0x7f20ab1da000)

librt.so.1 => /lib64/librt.so.1 (0x7f20aafd2000)
libsystemd.so.0 => /lib64/libsystemd.so.0 
(0x7f20aaf42000)

/lib64/ld-linux-x86-64.so.2 (0x55c9c7ae9000)
libGLX.so.0 => /lib64/libGLX.so.0 (0x7f20aad0a000)
libX11.so.6 => /lib64/libX11.so.6 (0x7f20aa9ca000)
libXext.so.6 => /lib64/libXext.so.6 (0x7f20aa7b2000)
libGLdispatch.so.0 => /lib64/libGLdispatch.so.0 
(0x7f20aa4da000)
libfreetype.so.6 => /lib64/libfreetype.so.6 
(0x7f20aa21a000)
libgraphite2.so.3 => /lib64/libgraphite2.so.3 
(0x7f20a9fea000)

libpcre.so.1 => /lib64/libpcre.so.1 (0x7f20a9d72000)
libresolv.so.2 => /lib64/libresolv.so.2 
(0x7f20a9b52000)
libselinux.so.1 => /lib64/libselinux.so.1 
(0x7f20a992a000)

libcap.so.2 => /lib64/libcap.so.2 (0x7f20a9722000)
liblzma.so.5 => /lib64/liblzma.so.5 (0x7f20a94fa000)
liblz4.so.1 => /lib64/liblz4.so.1 (0x7f20a92e2000)
libgcrypt.so.20 => /lib64/libgcrypt.so.20 
(0x7f20a8ffa000)
libgpg-error.so.0 => /lib64/libgpg-error.so.0 
(0x7f20a8de2000)

libxcb.so.1 => /lib64/libxcb.so.1 (0x7f20a8bba000)
libbz2.so.1 => /lib64/libbz2.so.1 (0x7f20a89aa000)
libXau.so.6 => /lib64/libXau.so.6 (0x7f20a87a2000)




Re: How to write Good IDE?

2017-02-05 Thread unDEFER via Digitalmars-d

On Sunday, 5 February 2017 at 14:37:48 UTC, MGW wrote:

On Sunday, 5 February 2017 at 10:43:38 UTC, unDEFER wrote:

$ dmd ide5 qte5 qte5prs asc1251 ini -release -m64
ide5.d(130): Error: undefined identifier 'Highlighter', did 
you mean variable 'highlighter'?

Скорее всего qte5.d взята из примеров, а правильная есть:
QtE5-master/source/qte5.d


Can't load libQtE5Widgets64.so from current directory.
Tried
$ export LD_LIBRARY_PATH=`pwd`; ./ide5 -i pr1.ini
$ export LIBRARY_PATH=`pwd`; ./ide5 -i pr1.ini
$ sudo ldconfig `pwd`

Nothing helps..


Для общения можно использовать https://vk.com/vk_dlang


I haven't vk and never will have.
Я тоже не имею аккаута на vk.com, но это не мешает мне общаться 
с русcкоязычным

сообществом D.


Maybe is good link, but it closes tab in firefox, own and tab 
opened before..


Re: How to write Good IDE?

2017-02-05 Thread MGW via Digitalmars-d

On Sunday, 5 February 2017 at 10:43:38 UTC, unDEFER wrote:

$ dmd ide5 qte5 qte5prs asc1251 ini -release -m64
ide5.d(130): Error: undefined identifier 'Highlighter', did you 
mean variable 'highlighter'?

Скорее всего qte5.d взята из примеров, а правильная есть:
QtE5-master/source/qte5.d




Для общения можно использовать https://vk.com/vk_dlang


I haven't vk and never will have.
Я тоже не имею аккаута на vk.com, но это не мешает мне общаться с 
русcкоязычным

сообществом D.




Re: How to write Good IDE?

2017-02-05 Thread unDEFER via Digitalmars-d

On Sunday, 5 February 2017 at 09:20:36 UTC, MGW wrote:


// Compile executable ide5 for 64
// Компилируем для 64 разрядного варианта
dmd ide5 qte5 qte5prs asc1251 ini -release -m64


$ dmd ide5 qte5 qte5prs asc1251 ini -release -m64
ide5.d(130): Error: undefined identifier 'Highlighter', did you 
mean variable 'highlighter'?



Для общения можно использовать https://vk.com/vk_dlang


I haven't vk and never will have.


Re: How to write Good IDE?

2017-02-05 Thread MGW via Digitalmars-d

On Saturday, 4 February 2017 at 18:12:25 UTC, unDEFER wrote:

On Friday, 3 February 2017 at 19:17:54 UTC, MGW wrote:


// All source files in the current folder
// Все исходники в текщем каталоге
ide5.d ini.d qte5prs.d asc1251.d qte5.d libQtE5Widgets64.so 
pr1.ini ide5sh.txt


// Set current folder for load SO
// Укажем загрузчику, что SO можно грузить и из текущего каталога
LD_LIBRARY_PATH=`pwd`; export LD_LIBRARY_PATH;

// Compile executable ide5 for 64
// Компилируем для 64 разрядного варианта
dmd ide5 qte5 qte5prs asc1251 ini -release -m64

// Run ide5 with project pr1.ini
// Запуск ide5 с проектом pr1.ini Без указания проекта старт 
невозможен

./ide5 -i pr1.ini

Для общения можно использовать https://vk.com/vk_dlang


Re: How to write Good IDE?

2017-02-04 Thread unDEFER via Digitalmars-d

On Friday, 3 February 2017 at 19:17:54 UTC, MGW wrote:

On Wednesday, 1 February 2017 at 15:12:42 UTC, unDEFER wrote:

And what important for you for Good IDE?


Simple IDE. It is possible that that is useful from this what 
is. I permanently use it as it is very quickly.


https://www.youtube.com/watch?v=RBan5Dwt_JM
https://github.com/MGWL/QtE5/tree/master/ide5


Wow, without DCD? Looking interesting.
How to build ide5?

$ dub build
Performing "debug" build using dmd for x86_64.
qte5 0.0.7: building configuration "exampleLinux"...
Linking...
Running post-build commands...
Error load: libQtE5Widgets64.so
Copying files for qte5...

$ dmd -of=ide_5 ide5/ide5.d  ide5/ini.d  ide5/qte5prs.d  
source/asc1251.d  source/qte5.d

$ ./ide_5 -d
Error load: libQtE5Widgets64.so


Re: How to write Good IDE?

2017-02-03 Thread MGW via Digitalmars-d

On Wednesday, 1 February 2017 at 15:12:42 UTC, unDEFER wrote:

And what important for you for Good IDE?


Simple IDE. It is possible that that is useful from this what is. 
I permanently use it as it is very quickly.


https://www.youtube.com/watch?v=RBan5Dwt_JM
https://github.com/MGWL/QtE5/tree/master/ide5




Re: How to write Good IDE?

2017-02-03 Thread unDEFER via Digitalmars-d

On Friday, 3 February 2017 at 12:37:53 UTC, Jacob Carlborg wrote:
The old Eclipse plugin for D1, Descent [1], is the gold 
standard when it comes to IDE's for D. Check the features list 
[2] to get some ideas and inspiration.


[1] http://www.dsource.org/projects/descent
[2] http://www.dsource.org/projects/descent#Features


Thank you! Good links.


Re: How to write Good IDE?

2017-02-03 Thread Jacob Carlborg via Digitalmars-d

On 2017-02-01 16:12, unDEFER wrote:

Hello!
So my unDE 0.2.0 is released
(http://forum.dlang.org/thread/yzfthfipouzhejfsk...@forum.dlang.org),
and this means that the time to write unDE 0.3.0 - text editor and IDE.

And I grab my head when thinking how much I want to implement.

1) It must shows unused modules
2) It must shows parts of modules which used by module
3) It must shows not caught exceptions
4) It must autocomplete always even "string".to

I have seen pretty tool from Hackerpilot (DCD, dfmt, Dscanner), but it
doesn't cover this list.

And I think how easier may be implement such IDE? From zero, or maybe
possible to use parts of dmd/gdc?
And what important for you for Good IDE?


The old Eclipse plugin for D1, Descent [1], is the gold standard when it 
comes to IDE's for D. Check the features list [2] to get some ideas and 
inspiration.


[1] http://www.dsource.org/projects/descent
[2] http://www.dsource.org/projects/descent#Features

--
/Jacob Carlborg


Re: How to write Good IDE?

2017-02-02 Thread unDEFER via Digitalmars-d

On Friday, 3 February 2017 at 01:31:03 UTC, Chris Wright wrote:

It's awkward to use dmdfe as a library, mainly because it's not 
vetted to work with the GC. You *can* disable the GC, invoke 
dmdfe, copy out the data you need, and then enable the GC.


Thank you Chris, really I don't want use dmd as library

You could fork dmdfe, add your own fields and datastructures 
for things you need that aren't there already, add extra 
analysis that suits you, and change error handling to account 
for partially completed lines of code.


The last is more possible that I want. But not with dmd, but 
maybe with gcc/gdc. I really don't know how to fast support 
several languages. And maybe first version will support only D.


So.. I want to create own IDE for 6 months..


Re: How to write Good IDE?

2017-02-02 Thread Chris Wright via Digitalmars-d
On Wed, 01 Feb 2017 15:12:42 +, unDEFER wrote:
> And I think how easier may be implement such IDE? From zero, or maybe
> possible to use parts of dmd/gdc?

It's awkward to use dmdfe as a library, mainly because it's not vetted to 
work with the GC. You *can* disable the GC, invoke dmdfe, copy out the 
data you need, and then enable the GC.

This doesn't let you take advantage of the fact that almost all the code 
will be identical between two invocations. It's going to be slow. It won't 
necessarily get you the information you need.

On the plus side, it accepts D pretty well, and someone else gets to 
maintain it for you.

You could write your own. This is a project that might take years on its 
own.

You could fork dmdfe, add your own fields and datastructures for things 
you need that aren't there already, add extra analysis that suits you, and 
change error handling to account for partially completed lines of code.


Re: How to write Good IDE?

2017-02-02 Thread unDEFER via Digitalmars-d

On Thursday, 2 February 2017 at 15:04:10 UTC, Jack Stouffer wrote:


Speed.


Yes, speed it will one of the main characteristic of my IDE.


Re: How to write Good IDE?

2017-02-02 Thread Jack Stouffer via Digitalmars-d

On Wednesday, 1 February 2017 at 15:12:42 UTC, unDEFER wrote:

And what important for you for Good IDE?


Speed. That's the only reason I use sublimetext 3 and not an IDE.

rant:

I abhor any kind of lag, input or otherwise. I used to play tons 
of fighting games and character action games, and in them I was 
trained to feel dropped frames, which cause you to have less time 
to react to things on screen. Every time an IDE drops below 60 
frames per second, I notice, and it feels like crap.


If it takes longer than two seconds for your app to open itself 
or open a file, it's too slow. If the app ever drops below 60 fps 
while I'm entering text or scrolling down a file, it sucks. If 
your IDE freezes on files larger than 5 mb *cough* atom *cough*, 
then it sucks.


end of rant


Re: How to write Good IDE?

2017-02-01 Thread FrankLike via Digitalmars-d

On Wednesday, 1 February 2017 at 15:12:42 UTC, unDEFER wrote:
Visual Studio .net is the best,you can look at it!

Thanks.

Frank