Releases: jcaillon/3P
New syntax highlighting and folding system
A small release but with a major improvement! The syntax highlighting of progress file is now entirely done by 3P! You probably didn't notice it, but I was actually using a UDL (user defined language) of notepad++ to add colors to the progress file prior to this version. That meant 3 things :
- First, i had to keep 2 list of keywords in sync; the one used by the internal progress parser and the one used in the UDL (and, holy macaroni, do I hate redundancy!)
- Secondly, I could only have a static syntax highlighting (for instance, it was not possible to have a different color for procedures or methods which are discovered dynamically while parsing the code)
- Last but not least, I couldn't properly manage the folding feature of scintilla (the +/- in the left margin to expand/collapse a block like a procedure or an if)
Anyway... To keep it short, I'm super excited about this feature and I hope you will be satisfied. However, for you, it should not change anything at the moment. I would even say, if you don't read this version note, you might wonder what has changed since the last version :D just know that it opens the door to new cool features!
Please report any weird behavior concerning the syntax higlight and folding (for the later, i'm positive you will find issues), this will help stabilizing the version 1.7!
Improvements :
- Syntax highlighting!
- New menu option to read the current as a progress (will apply syntax highlighting and trigger progress autocompletion)
Fixed issues :
- #178 : Creation of NppBackup folder near the file saved
- Now try to show the version log to the user until it has actually been seen
- #144 : Syntax definition error on Function Foward sentences
Enjoy!
Prolint made easy!
Hello, long time no see! I had less time to spend on 3P lately but that doesn't mean the project is dead, far from it! I'm still planning to release a stable in a near future (that will include OOABL), please be patient :)
And without further ado, let's move on to the news...
Prolint made easy!
Analyzing your code with prolint is a very good idea, it can bring into light issues that you missed or allows you to clean up your source file by detecting unused variables (for instance).
That being said, before this version, you had to manually install/configure prolint. 3P would only provide an interface for Prolint. That's a thing of the past, Prolint can now be automatically downloaded and installed in your 3P configuration directory. Just press F12
, click the download link and that's it : it works! Of course, if you want to set up your own rules and/or decide which one you want to ignore, you might have some configuration to do :)
I'm using my own forks of Prolint and Proparse.net, 3P will check for new updates regularly.
Remark : The location of the StartProlint.p procedure has changed, it is now in the folder called prolint and located in the 3P configuration directory. Your previous procedure is not lost, it is directly under the 3P configuration directory, so you can reuse parts of it for the new procedure if you want. When you are done, it is advised to delete the old and obsolete file.
DataDigger and external tools
Until now, external tools (such as datadigger) would be embedded within the .dll and extracted at run time. That was really inconvenient for me because i had to manually keep the embedded version up to date. From now on, since datadigger/prolint/proparse are hosted on github, they will all be downloaded directly from there. It ensures that you will always have the latest release and it means lighter 3P updates. However, this also means that offline users will no longer have datadigger automatically installed. No worries, installing a third party tool offline is as simple as downloading the release on github and extracting the content to the configuration directory. You will get all the necessary info if the downloader fails to install a tool for you.
Improvements :
- The option pages have been updated, no need to click the save button anymore. The option page called Options > others has been merged with the Options > misc page
- The menu Misc is now called Modification tag and regroups all the related functions :
- You can now setup the template used for the surround with modif tag and add title block directly in the Set > File info page which makes more sense
- The template is now defined in a separate file (instead of being stored in the config.xml) which means this file can be shared with your team so you can all use the same modification tags
- New option in the update page, you can now configuration a proxy to use to check for updates
- Improved updater and added a setup dialog box after an install to modify notepad++ options such as : automatic backup, multi-selection and default auto-completion replacement
- Added keywords :
PROCESS-ARCHITECTURE
PROCEDURE-COMPLETE
Write
- New options for the deployment :
- You can now send files to a .cab file (works like zip rules)
- Changed the behavior of the display parser errors on save, the notification now allows you to disable the feature for the current file only
- Extended the possibilities of the deployer (CopyFolder, DeleteFolder)
- You can now use the special variable
<ROOT>
which is always available and is replaced by the path to your source directory (without the ending '') - For the transfer rules and in particular, for the transfer target : it is now possible to use the | character to separate several target path (the file will then be copied to the different locations). This is equivalent to writing several rules with the "continue" option set to "yes", it is just a simpler way to write it
Fixed issues :
- #160, #161 : problems with prototype synchronization in include files
- #162 : no fields available on the autocompletion for buffers
- Problem with progress v9x : issue with the use of too many streams in the 3P progress program, v9 limits the max stream to 5 -> corrected to only use 1 stream...
- Fields display all the flags
- Change the behavior of the prototype update, it now occurs AFTER the file is saved, which is safer in case of a problem
- #163 : The code explorer now has again the button "from include" that allows to display/hide the items parsed from include files
- No longer automatically autocompletes simple numbers
- fixed compilation errors display issue that would occur if the error was located in an include file for instance
- #164 : Search window inactive when CRTL+F
- #165 : Incomplete procedure name when using preprocessed variables
- Fixed the critical bug with progress version inferior to 11.6 in the latest version of 3P
- Fix a problem occurring when the PROPATH used was too long
And as always, ENJOY!
An alternative auto-completion for notepad++
Once again, massive changes all across the board. The most important being the auto completion : try typing something in a non progress file!
More info on that here - an alternative auto completion for notepad++
For this beta version, I've temporary disable the cancel
button in the deployment page, it will be back in the next release. If I also waited to correct that, I would have delayed this beta release for another month; but there are already too many new features to be tested, couldn't wait any longer.
Enough talking. Enjoy!
Improvements :
- New options for each environment :
- You can now choose a progress program that will be executed before each progress execution (like a compilation for instance); this will be useful for users that prefer to dynamically connect databases instead of using a .pf or extra connection info
- You can also choose a progress program that will be executed after any execution
- New compilation options (available through a new item in the main menu) :
- Generate debug-list
- Generate xref file
- Generate xref xml file
- Generate listing file
- You can also choose to immediately generate + show one of these files in the new Progress tools menu
- New feature : Correct code indentation
- New item in the main menu Display parser errors : this will validate your file using the parser of 3P, it can be used to know if your file can be read by the AppBuilder (for instance). You also have the opportunity to display the parser errors each time you save the file (it will only be displayed if there are errors), see
Options
>Code edition
. This is enabled by default. Since I introduced this feature, i will stop displaying the number of extra characters in the code explorer, which already displays a lot of information. - New options for the auto completion :
- you can now choose to immediately show the auto completion after a
.
or:
(this is true currently and by default) - you can now choose to not display the auto completion on each input but still correct the case of the words as you type
- options are now dispatched between : general options / progress specific options / default auto completion replacement options
- you can now choose to immediately show the auto completion after a
- Updated DataDigger to the latest beta version 20170324, thanks Patrick!
- Ftp connections now also work for servers with the active transfer mode activated
- Improvements to the parser, this should be its final form; it now parses include files exactly like the progress compiler, replacing the include call by the content of the file
- Replaced the old option "Npp openable extension" by "NppFilesPattern" to be in line with the other options of that type (it allows you to describe the files that should be opened with Npp from the file explorer)
- Improvements to the tree view
- new option to display (or not) the branches of the tree for the file/code explorer
- the click to collapse/expand a node now only works on the small arrow area (instead of all the node previously)
- you can now expand/collapse the file explorer tree view as well as the main menu
- New options for the deployment :
You can define variables on a line with info separated by tabulations; the format is :
name suffix <var_name> path
The <var_name> is then replaced in the transfer rules by the value of the "path"
See the example below for a better understanding
#name suffix <var_name> path
##############################################
* * <myvar> C:\temp
#step name suffix type next? source_pattern deploy_target
#####################################################################
0 * * Move no *\client\* <myvar>\client\
Fixed issues :
- Replaced the old mechanism to hide the progress splashscreen during a prowin execution, now simply uses
-nosplash
- 3P no longer catches errors from other .net plugins (like CSScriptNpp)
- Correction of various bugs related to document encoding
- Fixed an issue with the type buttons of the file explorer that would show the tooltip content of the autocompetion type buttons
- 3P now correctly reads the Npp configuration from the cloud folder (if any)
- small fixes : #76, #129
File and code explorer improvements
A quick release to test out the latest features.
The website has been updated! You can download the x64 version there : http://jcaillon.github.io/3P/
Enjoy!
Improvements :
- The main menu is now displayed as a tree view, no more cascading windows; you can also use a filter to quickly find the command you want to execute
- The parser now recognizes the keywords
SUBSCRIBE
UNSUBSCRIBE
andPUBLISH
, the statements are displayed on the code explorer (fixes #6) - The
EXTERNAL
procedures are now put in a different section that standard procedure definition in the code explorer; the dll name associated is also displayed (fixes #5) - New sections in the code explorer for each type of
RUN
statement; i.e. either run an internal routine or an external .p - New sections in the code explorer for each type of function call; i.e. it can be either static
myfunc()
, dynamic but internalDYNAMIC-FUNCTION('myfunc')
, or dynamic and external (fixes #31) - You can now see the temp tables defined in your file directly in the code explorer (fixes #40)
- The file explorer now displays the file of the local base path as a tree view (fixes #73); the tree view for the other modes (compilation/propath/everywhere) will come in the next version
Fixed issues :
- #147 : Panels not applying their previous state on start
64bit version and new list engine
3P is now available for the x64 version of notepad++! I'll update the website soon to include this new version. Meanwhile, you can get it on the GITHUB release page.
However... very few notepad plugins have been released for the 64-bits version. The plugin manager itself is still only available for the 32-bits version! If you are using another plugin than 3P, you might want to hang on to the 32-bits version for a while :)
This release brings a lot of changes, particularly to the auto-completion. I needed to make the class a lot more flexible (and make the control faster) to be able to implement the next big features (sorry, no spoilers!). That's where you are very important : I need you to report any bugs you might find! As a beta user, you represent a whooping 2% of all the 3P users; 98% are using the stable v1.7.0 version (yes, i can do maths) -> that's not a lot people to find issues early :)
Anyway... As always : ENJOY!
Improvements :
- The auto-completion system has been almost entirely revamped :
- It now uses the YamuiFramework list which should be faster than the (previous control) objectlistview
- You can now resize the auto-completion popup like you would resize any window (the size will be saved for your next session)
- You can use Page down/up as well as the end/home key while the auto-completion is opened to quickly browse it
- The category buttons can now pile up in a child popup accessible by clicking the more button (tree blue dots) allowing to reduce the width of the auto-completion
- The auto-case feature is now part of the auto-completion, if you change the case mode for keywords or database items the modification will immediatly be visible in the auto-completion where said items will have the chosen case
- Deep changes to the file explorer and code explorer as well, they also use the new YamuiList control which will allow me to further extend their features (for instance have tooltip on those lists and display the file explorer as a tree)
- The code explorer now has a new section current scope which allows you to quickly locate where you are in the file
Fixed issues :
Closing issues by the dozen
3P is available through the plugin manager of notepad++! (Actually, it is since September ^^")
http://jcaillon.github.io/3P/#/installation
Improvements :
- The YAMUI framework I'm developing and using for 3P has been considerably improved, below is a non exhaustive list of the changes :
- The behavior of scroll bars is now equal to the classic scroll bar of windows (a click on the bar will scroll to this position)
- Windows can now be re-sized as you would do for normal windows (i.e. grad an edge and pull)
- New feature for deployment rules : If you wish, you can now use regular expression in the
source pattern
. If you do so, you can then use capturing groups and use $1, $2... in thedeploy target
to dynamically rename thedeploy target
in function of the source. To activate this feature, the "source pattern" and "deploy target" should start with the character:
- Better parsing for include files, now takes into account include parameters
- Improved the lexer to tokenize correctly WORDS split (possibly on multiple lines) by a
~
(i.e.DEFINE~ is actually compilable in progress...) - #81 : The parser now fully handles preprocessed name (i.e. {&name} or {x}) and replaces them by their value
- #81 : Improved the parser to take into account path for include directives (i.e. {path/dir/file.i})
- #119 : Improved parser to get the initial value and format of each field for temp-tables
Fixed issues :
- #82 : empty shortcuts were not correctly saved
- Fixed the problem when requesting the github API causing the update check to fail
- Fixed an issue that could occur when you an update of prototypes in your document is done (on save for instance) and that would make n++ freeze
- The input dialog boxes now correctly handle the escape key as well as the enter key
- #140 : The parser now correctly handles
ON *
event - #107 : Now correctly parses temp-table indexes
- #104 : Cleaned up keywords list
- #90 : deleting a function now immediately deletes its prototype (if any)
- #134 : Now displays a
RUN "myproc".
andPROCEDURE "myproc":
in the code explorer as expected - #136 : Fixed the auto completion system to act only when the auto completion pop up is activated
- #114 : procedures are now correctly deleted even when not surrounded by an appbuilder block
- #80 & #87 : Instead of file extensions, you will now set a list of patterns that identify a Progress file (for instance :
*.p,*.i,*.w,*.t,*.d,*.lst,*.df,*.cls
) - #83 : correctly restore the caret line/ selection colors according to npp current theme
- #99 : You can now use the escape key on notification pop up to close them
Generate code, explore your database and deploy your application!
Hello everyone,
A new stable release for 3P, I think you will be satisfied with the overall robustness of this version, It took more time than for previous versions to build it but I'm confident I won't get much bugs on this one (fingers crossed).
For the beta users, not much happened since the last release (3 days ago :p). However, if you updated from the v1.6.1, I encourage you to read the patch notes to learn more about the features described in the release title!
I've also updated the web site, go take a look!
And as always... enjoy!
Improvements :
- New menu : deploy curent file (allows you to deploy non progress file using step 1 deployment rules)
- 2 new application themes