Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-pascal / 2015-08

I-Pascal: IDE based on IntelliJ platform

7 messages · 5 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

George Bakhtadze

Hi all,

I-Pascal is an IDE (mainly code editor) for Object Pascal based on IntelliJ platform. Other products based on the platform includes IDEA, WebStorm, Android Studio.

The platform is built around AST (abstract syntax tree) concept. The AST is built from code and used for analysis. This approach allows IDE to "understand" code while doing completion, navigation, static analysis etc.

The project's main focus is code: editing, navigation, analysis.

Currently implemented features are:
. highlighting for some kinds of errors (missing declarations/implementations)
. quick fixes for the errors
. context aware code completion
. navigation to overridden/descendant methods/classes . navigation to super methods/classes
. PPU/DCU interface decompilation (FPC 2.7.x or above is needed) . rename refactoring
. integration with Free Pascal compiler as well as Delphi compiler and others.

The project site:
http://www.siberika.com/siberika/ipascal.html

Installation and usage instructions:
http://www.siberika.com/siberika/install.html

Feedback is highly appreciated.

Best regards, George
leledumbo
to George Bakhtadze
Feedback is highly appreciated. From the install page:

Click "+" icon and select "Free Pascal SDK" or "Delphi SDK". Then select SDK home directory. It's a directory where compiler directories such as "bin" and "units" are located.

Under *nix platforms, FPC layout is slightly different. At least bin and units by default doesn't have the same direct parent (/usr/bin vs /usr/lib/fpc/$fpcversion/units). Does this mean your plugin doesn't work there?

View this message in context: http://free-pascal-general.1045716.n5.nabble.com/I-Pascal-IDE-based-on-IntelliJ-platform-tp5722409p5722421.html Sent from the Free Pascal - General mailing list .
Graeme Geldenhuys
to leledumbo
leledumbo wrote
Under *nix platforms, FPC layout is slightly different. At least bin and units by default doesn't have the same direct parent

Indeed. If you use FPC's official installer (not Linux distro package managers) it is less of a problem. You could symlink the "units" location or simply move it, and then update the search paths accordingly in your ~/.fpc.cfg file. It should work then.

Regards,
- Graeme -

fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://fpgui.sourceforge.net/
ARGB32
to leledumbo: Click "+" icon and select "Free Pascal SDK" or "Delphi SDK". Then select SDK home…

l> Under *nix platforms, FPC layout is slightly different. At least bin and l> units by default doesn't have the same direct parent (/usr/bin vs l> /usr/lib/fpc/$fpcversion/units). Does this mean your plugin doesn't work l> there?

I'm using Linux and CodeTyphoon which places all FPC-related files in one directory and initially I didn't know of any problems.

OSX users reported the problem with paths.
The right directory for SDK is parent of "units" (offered automatically). /usr/bin is checked for fpc executable.
So it should work.

If someone knows better ways to determine locations of fpc executable and RTL DCUs please let me know.

---
Best regards, George

Sven Barth
to ARGB32
"ARGB32" wrote
If someone knows better ways to determine locations of fpc executable and RTL DCUs please let me know.

For the unit paths parsing fpc.cfg (by default on *nix either /etc/fpc.cfg or ~/.fpc.cfg) might be the best solution.

Regards,
Sven

Graeme Geldenhuys
to ARGB32: l> Under *nix platforms, FPC layout is slightly different. At least bin and l> units by…
ARGB32 wrote
/usr/bin is checked for fpc executable.

Under Linux (with its messed up file system hierarchy - user programs mixed with system programs) that might work, but under FreeBSD (and probably other *nix-type OSes too) it will most likely be located in /usr/local/bin. The same for the system wide fpc.cfg - under FreeBSD it will be in /usr/local/etc/fpc.cfg

But that is no guarantee either. I for example always use the official FPC installer, which means I can install to any location I have write access too (all without root privileges), so I often install FPC into my $HOME directory.

Maybe it is best to first see if you can retrieve the location via 'which fpc'. If it is not found, then look in some hard-coded locations. If still not found, them prompt the user for the path.

Regards,
- Graeme -

fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://fpgui.sourceforge.net/
leledumbo
to Graeme Geldenhuys
Maybe it is best to first see if you can retrieve the location via 'which fpc'. If it is not found, then look in some hard-coded locations. If still not found, them prompt the user for the path.

Good idea, I suggest to peek at Lazarus startup code. It also checks for fpc and the like. Prompting separately for fpc and units path (or fpc.cfg path) could be another good idea, too.

View this message in context: http://free-pascal-general.1045716.n5.nabble.com/I-Pascal-IDE-based-on-IntelliJ-platform-tp5722409p5722451.html Sent from the Free Pascal - General mailing list .