General > The Laboratory

Automated Plugin Builder plugin for qe

(1/12) > >>


Hi. I have created a plugin builder for qe that I have used for some time now. It greatly simplifies the creation of plugins for qeditor.
The stand alone version works so well, I decided to create it a plugin itself - to make plugin creation that much easier.

Yes qeditor comes with a good selection of plugins. Why would you want to create your own plugins? Formatting source files
is one of the reasons why I do.

July 21, 2018:

Version 5 Beta version is linked below - .dll only at this time.

--- Code: ----- Quick Instructions for the Plugin Builder --

1.  create a folder for your plugin project.

2.  create a file with your plugin procedure.
    just the procedure and any sub procedures that it uses.

3.  open the file in QEditor. Selection --> "Select All"

4.  Select Plugins --> Plugin Builder

5.  Enter the plugin main module name in the Dialog Box

6.  Enter the text that you want on QEditors menu in the Dialog Box

7.  Click "Process", and your project will automatically be built,
    the dll copied to masm32 plugins folder, and menu entry added for your plugin.
    If your orignal file was named "plugin proc name".asm, it will be overwritten.
    If you want to keep the original, I suggest using .txt or other extension.

8.  Files created automatically:
  a.  [Plugin Name].asm
  b.  [Plugin Name].bat
  c.  [Plugin Name].def
  d.  [Plugin Name].inc
  e.  [Plugin Name].dll

any .lib, .exp, .res, .obj files are deleted. You can reassemble using the .bat
file and removing the lines where those files are deleted if you need those files.

--- End code ---

Back up your menus.ini file prior to using this product so if there are problems, you can reinstate the previous
menus.ini file. The Plugin Builder modifies your menus.ini file

Plugin Builder v5.0.1 DLL only; for testing -- Bug Reports welcome!  ** on hold til further notice **

** on hold til further notice **

Test plugin procedure for use with the Plugin Builder. It removes empty lines from a source file.
Now included in the Plugin Builder version 5 Beta DLL download.

--- Code: ---

; The procedure has two arguments, src buffer addr, and dst buffer addr.
; the buffers will be provided by the plugin builder.
; this small procedure removes empty lines
; the code should be written as if those buffers are already present.
; the plugin builder always uses the same format for the plugins it can process
; procname, src, dst

    uncrlfz proc src:dword, dst:dword
        mov esi, src
        mov edi, dst
        mov al, byte ptr [esi]
        cmp al, 0
        jz done
        .if word ptr [esi] == 0D0Dh
        add esi, 1
        jmp tiptop
        mov [edi], al
        inc esi
        inc edi
        jmp tiptop
        mov byte ptr [edi], 0
    uncrlfz endp

--- End code ---


Looks like it should work well Z. I wonder if anyone has noticed the plugin builder already installed in QE ? Its in the Code menu, "Create New QE Plugin". You can never make an editor that does what everyone wants and in part the design of QE with its various extension capacities is so folks who don't feel like writing their own editor from scratch can make custom capacities that suit their programming style or needs.

It will do simple templates that have no logic in them as plain text files, the later scripting engine can do far more complex things in terms of document and code output and the later plugin interface gives you specific control over inserting binary code.

I am pleased to see someone bothered to try the plugin interface as you can get it to do many useful things. You do need to have a reasonable "sniff" of how a Richedit2/3 DLL works but its no big deal to do most stuff.


--- Quote from: hutch-- on September 04, 2015, 06:04:23 PM --- I wonder if anyone has noticed the plugin builder already installed in QE ? Its in the Code menu, "Create New QE Plugin".

--- End quote ---

Oh yes, I have used that. But there was a time I had a couple dozen small functions for formatting and it was kind of time consuming compiling each one. That is where the idea came to make the process more automatic.


Here are a few example plugins for qe, built with the aid of the Plugin Builder if anyone is interested.

Mostly for formatting purposes.

There are 5 in this download:

1. First one aligns all the prototypes, and the .data, & .data? sections "DD", "DB", etc + "EQU"'s   -- for sloppy coders lol
2. second one places a space after each comma, if not already there.   --  looks better with the space, imo.
3. Third one removes both ";" and "comment * " style commenting.  --  I usually clean up the code from "examples" before I use it.
4. Fourth one removes double CrLfs.                                                 -- for those files with just too many empty lines
5. The last one replaces hard tabs with 4 spaces.                            -- for those pesky hard tabs

All of these were built with the PluginBuilder plugin.

enjoy.  :eusa_clap:

New plugins (and some oldies but goodies) coming soon to a thread near you!


[0] Message Index

[#] Next page

Go to full version