3P Versions Save

3P (short for Progress Programmers Pal), is a notepad++ plugin designed to help writing progress 4GL (OpenEdge ABL) code. It transforms notepad++ into a full featured IDE for openedge code editor, providing syntax checking, compilation, auto-completion, tool-tips and much more!

v1.8.8

1 year ago

Hello all,

Finally found the time to tackle the syntax highlight bug that occured after notepad++ 8.4 update. FYI the plugin is still compatible with old version of notepad++, even if it suggests to update to the latest version.

Fixed issues

  • fix: #294 3P is not compatible with notepad++ v8.4+

Enjoy!

v1.8.7

2 years ago

Hello all,

A small release to update the compatibility with the latest version of notepad++, enjoy !

Improvements

  • Fixed notepad++ compatiblity version (tested for 8.1.3)

Fixed issues

  • Fixed build issue with outdated version of DllExport

v1.8.6

4 years ago

Hello,

I wish you all a happy and healthy new year :)

For this version, I would like to especially thanks Carsten Elton Sørensen (aka @csoren on github) for his pull requests!

Improvements

Fixed issues

  • #272, #269: the new minimum version of notepad++ required is now 7.7.

See you soon and in the meantime, enjoy!

v1.8.5

4 years ago

Hello folks, long time no see!

A pretty light release that ships the correction of a bug occurring with notepad++ (x64 only) v7.7 and above.

A big shout out and thanks to @thony8 for fixing this issue :)

Fixed issues

  • #263: 3P now works correctly for notepad++ 64 bits and the scintilla version shipped with notepad++ v7.7 and above.

v1.8.4

5 years ago

Hi folks,

Even if most of my spare time is, at the moment, mainly spent on sakoe, it doesn't mean I forgot about 3P! This new release focuses once again on fixing existing bugs.

I still have a lot of ambitions for 3P and I have a bucket of a hundred (literally) new exciting features that I have to implement. If you check out the sakoe project, you will see that it is only a CLI to much much bigger projects which already contain a lot of tools for the openedge framework. My plan is to integrate those libraries into 3P to replace the existing code (which has no unit tests) and bring new features in. Believe me, I'm still working my a** off on this project, it is just on a different git repository! This will take a lot of efforts and time, but my motivation is on par with what is was when I started this project, so I will get there eventually (the only difference is that I do not work past midnight every day anymore :)).

But enough chit chat, here is the release content:

Fixed issues

  • #246: Wrong behavior for the auto-completion in multi-carets mode
  • #251: Silent error parsing UserDefineLang.xml
  • #250: Crash during shutdown due to modified collection
  • #249: Admin rights required to update 3P for notepad++ version 7.6.1 to 7.6.2
  • #252: From notepad++ v7.6.2, autocompletion .xml files were moved to $installdir/autoCompletion
  • #227: Infinite loop on includes calling the same include (huge thanks to simi aka @slegian for his precious help)
  • #206: 3P can now evaluate pre-processed expression in &IF statements and ignore definitions made in false blocks
  • &GLOBAL-DEFINE variables defined in includes now correctly appear in the autocompletion
  • #233: Parser error on unbalanced DO / END blocks
  • #254: Parser error for &ANALYZE-RESUME followed by a block name
  • #242: Download datadigger in the custom folder specified in the options (if not aleady installed)

Recent changes in notepad++

Little warning, if you plan to update your notepad++ installation (which you probably should do :p).

Since v7.6.x, there has been some changes regarding the plugins location:

  • in v7.6.0, plugins were moved from /plugins/3P.dll to /plugins/3P/3P.dll.
  • in v7.6.1, (for non portable installation) the base plugins folder was moved from %LOCALAPPDATA% to %PROGRAMDATA%.
  • in v7.6.3, (for non portable installation) the base plugins folder was moved from %PROGRAMDATA% to %ProgramFiles%\Notepad++\plugins\.

Hopefully, the latest change is final.

I've updated the 3P documentation to reflect those changes. If you update to the latest version of notepad++ from an older version (<= 7.6), you will have to manually place the 3P.dll into a 3P sub folder of your plugins folder. Otherwise, 3P will simply not be loaded. Alternatively, you can reinstall 3P from the new "plugins admin" menu in notepad++.

Enjoy!

v1.8.3

5 years ago

Hello everyone,

Quick release to fix small issues reported recently.

Improvements

  • #238: added the possibility to use < and > in regexes without them being interpreted as variables by doubling them in the deployment rules configuration. This allows to have string exclusion in regexes like: :^.*(?<<!srv)\.(p|cls)$

Fixed issues

  • #237: typo on disclaimer
  • #235: the username/password configured for the http proxy were not sent correctly to the proxy
  • #236: you can now use an external directory for your datadigger installation (options > Misc. > External tools)

Sakoe

If you like 3P, you should take a look at my next upcoming project : SAKOE, the Swiss Army Knife for OpenEdge.

It's a command line interface, multi-purpose tool that will hopefully be useful to any openedge developer:

  • It will provide various utilities (like simplified database manipulation, reversed XCODE, a better prolib interface and much more!)
  • It is designated to be used in a CI (continuous integration) pipeline and will automate build tasks (similarly to ant/maven/msbuild and tools alike)

There are no releases yet, but it will be available soon.

If you like it, don't forget to STAR IT on github as it helps a lot for visibility on the platform. Same goes for 3P by the way! :D

Enjoy!

v1.8.2

5 years ago

Hello folks,

This is yet another small release in the stable branch. It doesn't bring new features, but instead tries to stabilize the v1.8.x version of 3P.

In the meantime, i've been pretty busy in the development branch of 3P, working on the GUI framework and modularizing components of 3P for external usage (like the parser and the deployer/mass compiler for instance). A lot of goodies that will come with the next beta version v1.9; if you wish to preview these features and help me debug 3P, don't forget that you can switch to the beta branch of updates in the option page.

Important notes :

I've slightly lowered the requirement from .net 4.6.2 to .net 4.6.1 for the simple reason that this latter version is more commonly used and that 4.6.2 doesn't bring interesting features for me.

Improvements :

  • #220 : Extent indicator on tooltips for variables, parameters, fields and function return types

Fixed issues :

  • #219 : force github update to accept only v3 version of the github API : https://developer.github.com/v3/#current-version
  • problems using ALT+LEFT/RIGHT on autocompletion (the type rotation was incorrect)
  • #221 : indentation command fails with EDITING phrase
  • #226 : indentation strategy makes .w files unable to open in the appbuilder because an &analyze* statement is indented

Enjoy

v1.8.1

6 years ago

Hello everyone,

If you are reading this update message from 3P, thank you for understanding my need to update to .net 4.6.2! Read more about this below...

This release is mainly to fix the updater and to target .net 4.6.2, new features are coming in the next release, stay tuned!

Important notes :

Since February 22 the 3P automatic updater is not working and displays a message saying it failed to query the github API.

The 3P updater is using the github API to check for new releases and download the .zip file. Last Thursday, GitHub turned off some weak crypto standards; including TLSv1.1. You can read about this here.

How is it related you ask? I've build 3P around the .NET framework v4.0 which only supports TLSv1.1. This is the default security protocol and also the latest protocol supported by this version. This means I had to upgrade the project to a newer version of the .net framework : .NET 4.6.2. That also means that 3P will not be able to run on windows versions inferior to windows 7. Learn more in issue 217 and in issue 214.

Improvements :

  • Allow drag and drop on textboxes! finally
  • #215 : Remove multiple database configuration per environment

Fixed issues :

  • #214 : Updater error : Couldn't query GITHUB API

Thank you for reading,

Enjoy

v1.8.0

6 years ago

IMPORTANT : This is the LAST release supporting .NET 4.0 !!!! (and windows xp/vista)

Hello everyone,

Important notes :

The database structure information are reset in this version, you will need to extract them again from the environment page!

Improvements :

  • Changed the way include files are treated by the parser; they are now treated the same way as {&var} which allows more complex usage of include files like {{inc.i}} (where inc.i contains an include name)
  • #204 : The parser now handles &IF everywhere
  • #203 : The parser now correctly reads and interprets ALL includes, even when they are within strings!
  • #207 : Missing includes and missing preprocessed variables are now displayed in a new branch of the code explorer "Missing includes/variables" which allows to solve PROPATH problems faster
  • #199 :
    • Fields of tables are now sorted by names by default (instead of order number previously)
    • In tooltips fields that are part of the primary index are always shown on top
    • Moved the shortcuts help from bottom to top in tooltips (to be able to see the hit CTRL once even if the tooltip is long)
  • #205 : The "check code validity" notification that is displayed on document save will now close itself if you fix the file problem and save again. It also only triggers on progress compilable files
  • #208 : 3P can now indent correctly very complex code (it actually does a better job than developper studio)
  • Added more information on tables (in the tooltip) : is hidden, is frozen and table type (T,S,V)
  • #152 : you can now choose the table types you want to show in the autocompletion, you are also able to filter the tables extracted by names (this allows you to, for instance, show the _FILE table and its fields in the autocompletion) - the option can be found in the set environment page, you can filter the tables that will be fetched for the autocompletion by their table type (T,S with T : User Data Table, S : Virtual System Table, V : SQL View) and their name (_Sequence,_FILE,_INDEX,_FIELD,!_*,* for instance to fetch all the user tables and a few interesting system tables)
  • #187 : Automatically create aliases for the database and show the aliases in the autocompletion - the option can be found in the set environment page, you have to set a list of ALIAS,DATABASE;ALIAS2,DATABASE;...
  • #184 : In the option > code edition, you can now set a comma separated list of prefixes that represent a "good" naming convention for your variables. Each defined variable that start with one of those prefixes will be highlighted in a different color
  • #210 : CTRL-I which allows you to correct the indentation of you document can now correct the indentation only for the lines of your selection (if multiple lines are selected; otherwise it will indent the whole document)

Fixed issues :

  • #192 : Problem when duplicating an environment, then deleting some databases
  • #194 : Bug with the autocompletion after typing a number and "." on an empty document
  • Fixed a problem with the option "insert suggestion on word end" for numbers on non progress documents
  • #200 : Exception raised when the userDefineLang.xml file is not found
  • #201 : Indentation problems for ELSE DO: blocks
  • #202 : Indentation improvement for preprocessed &IF &ENDIF blocks
  • #211 : Impossible to check syntax with openedge v9.1

Enjoy

v1.7.7

6 years ago

Hello everyone,

Here is a second stable release in the 1.7.x version; it ships a ton of new features for v1.7.0 users and bug fixes the latest beta users.

I was hoping that this stable release would be the 1.8.0 and would contain the OOP parser I promised a long time ago. Unfortunately I had less time to work on the project this year. However, I'm not giving up on it; you can check what is planned in v1.8.x on the github :)

In the meantime, I hope you will enjoy this version!

Fixed issues :

  • #185 : Remove the custom syntax highlight checkbox from the options page
  • #181 : open the files in the propath on "Go to definition"
  • #186 : Parsing problem with preprocessed variables like {&_proparse_ prolint-nowarn(noundo)}
  • #171 : indentation problem caused by the parser
  • #190 : Define parameter buffer not handled correctly
  • #191 : Wrong analysis of temp-table indexes

Notes regarding cutom syntax themes :

Due to numerous changes of the syntax highlight feature, the custom colors configuration file has changed a bit. The conf file is in %notepadplugins%\config\3P\Themes\_ThemesForSyntax.conf. If you had a custom one, rename it. Then go to Options > Share Export config > click the export button for the syntax highlighting theme. You can then compare the default file to yours and put back your modifications.