jaPBe - First Release

Developed or developing a new product in PureBasic? Tell the world about it.
GPI
PureBasic Expert
PureBasic Expert
Posts: 1394
Joined: Fri Apr 25, 2003 6:41 pm

jaPBe - First Release

Post by GPI »

Edit: New Version:
http://caosandkin.bei.t-online.de/pureb ... .3.7.8.zip

What is jaPBe?

jaPBe (just another PureBasic editor) is an alternate Editor for PureBasic, which can everything what the original Editor can plus:

(Most of this things can be (de)activate in the preference! So look in it!)

(WARNING: Compile the Source only with 3.71 Beta 2 or higher!)

*FOLDING
jaPBe can fold. Foldmarks are automatic set for procedures and structures. When you want to create your own folds, use the ";{" and ";}" tags. (btw: ";{-" also create a bookmark).
The Fold-state (open/close) is saved with the sourcecode, so when you don't want to use it, ignore it.

*Better Text-Style
Dim test$(10) and NewList test$(10) are colored right and more style-possibilities, for example diffrent background for bookmarklines.

*Autocompletation
jaPBe has the possibility to list all possible completations of the current typed word. For example when you write #pb_window_, jaPBe shows you all the window-constants.
With Tab or Ctrl+Return you can insert the selected suggestion.

*Advanced Bookmark
The Bookmark-list are colored better. ;- and procedures have diffrent color styles, so you see better, if the bookmark procedure or not. Also you can set, that procedures also show you the parameterlist.

*AutoCase
jaPBe can format automatic all typed word. jaPBe search the complete text for words (and by the way, you can see the list in the Info-Panel on the right side). When you want to change the case, simple rightclick in the list or change the style in the editor and press F2.

*Better Tooltip
When the cursor is in a procedure, you can see a tooltip right from the cursor-position-display. Also the current parameter is highlighted. Also jaPBe knows all the Procedures that are declared or defined in the current file.

*FileList
jaPBe can save FileList, so you can open all files of a project very fast.

*Definition-Files
With Definition-Files you can tell jaPBe, that he know the name of Variables, Constants, Structures and Procedures. With this Definition-Files i told jaPBe all definied structures and pb-constants. Also you can add own tooltips for your own procedures in all files.
Look in the Definition-Directory
Note: At the moment jaPBe don't know all API-constants, because when you have to many definitions, the time for loading a sourcecode will increase. But when you want to activate it, rename the "ref-windows_long.txt.old" to "ref-windows_long.txt". Try it!

*Declare-Files
jaPBe can save automatic .declare-Files, which contain all defined procedures of the file.
When your file is named "test.pbi", the declaration is called "test.pbi.declare".
Also when you compile a file, automatic a "all.declare" is created, wich include automatic all declarations. So when you include the "all.declare", you don't must care about, in which order you write the procedures.
Note: All the files must be in the same directory, or all.declare will not found them.
Also when you use your own structures in the parameter-list of a procedure (like "Procedure test(test.ownstruc)") you must definied this structure, before you include the "all.declare".

*Multilangual
At the moment only English and "Deutsch" (German) exist. When you want to translate: Look in the Language-Directory and open one of this files and translate all the sentence and save it under a new name. Then jaPBe knows this languages. Change it in the Preference.

*Associate with .PB, .PBI and .PBDL
And the best: I don't touch the regestrie-entries of the original editor. .PB are then automatic open with jaPBe, but in the context-menu of the .pb-files you found the original editor (under open).
Note: You must press the associate-button in the preferences, or nothing will be changed.

*Bracehighlight in two diffrent ways.

*Mark Current Line
You can highlight the current line with a diffrent background.

*Automatic Indentation
Type a if-else-endif over more lines and you see, what i mean.

*Scrollmargin
The original editor only scrolles, when the cursor would scroll outside the edit. In jaPBe you can set a boarder, so you can see, where are you scrolling in.

*Better Undo
More steps are saved in the Undo-Buffer.

*Load/Save Block
You can save the current selection and you can load selections.

*Improved Find
It should now function more like other find-windows (replace first highlight the text, that should be replace.)
About Extended Chars (here a little copy of the documentation of scintella)
. Matches any character
\( This marks the start of a region for tagging a match.
\) This marks the end of a tagged region.
\n Where n is 1 through 9 refers to the first through ninth tagged region when replacing. For example, if the search string was Fred\([1-9]\)XXX and the replace string was Sam\1YYY, when applied to Fred2XXX this would generate Sam2YYY.
\< This matches the start of a word using Scintilla's definitions of words.
\> This matches the end of a word using Scintilla's definition of words.
\x This allows you to use a character x that would otherwise have a special meaning. For example, \[ would be interpreted as [ and not as the start of a character set.
[...] This indicates a set of characters, for example, [abc] means any of the characters a, b or c. You can also use ranges, for example [a-z] for any lower case character.
[^...] The complement of the characters in the set. For example, [^A-Za-z] means any character except an alphabetic character.
^ This matches the start of a line (unless used inside a set, see above).
$ This matches the end of a line.
* This matches 0 or more times. For example, Sa*m matches Sm, Sam, Saam, Saaam and so on.
+ This matches 1 or more times. For example, Sa+m matches Sam, Saam, Saaam and so on.

*Better Error-Support
When a error appear in a include, jaPBe try to highlight this line in the include.

*Infobox
Here you see the current state (compling,etc) and all error-messages and so on.

*"set as main file" and "compile file" (Compiler Options)
You can say jaPBe, that he should compile a diffrent file, when you start to compile the current file.
Set as main file will change all open ".pbi" (NOT ".pb"!), so that they will compile the current file.
This is usefull, when you have split you project in diffrent files. In the original editor you must switch to a subfile, change to the mainfile and f5, found a error, swicht in the subfile, edit, change back to main, f5 ,... On japbe you the the subfile, that he should compile the main-file.

*Advanced Ascii-Table
Try it out!

*PlugIns
jaPBe has the posibility to comunicate direct with plugins. So a plugin can get the current filename, the selection, the actual word, the current line and the complete text without saveing it on the hdd. Also the Plugin can open a file, create a new file with a new text and so on. For more, look in the Plugin-directory.
You find Plugins in the Tools-Menü.

Additonal Notes:
The Visual-Designer Plugin starts the Visual Designer. It gives you also the possible to redirect files, that should open the original editor, to jaPBe. But this only work, when you set the original editor to run once instance only!

Ok, i'm sure, that i forget something, so try it out!
Last edited by GPI on Tue Jul 08, 2003 6:22 pm, edited 1 time in total.
Fred
Administrator
Administrator
Posts: 18162
Joined: Fri May 17, 2002 4:39 pm
Location: France
Contact:

Post by Fred »

Impressive.
Berikco
Administrator
Administrator
Posts: 1326
Joined: Wed Apr 23, 2003 7:57 pm
Location: Belgium
Contact:

Re: jaPBe - First Release

Post by Berikco »

GPI wrote:Additonal Notes:
The Visual-Designer Plugin starts the Visual Designer. It gives you also the possible to redirect files, that should open the original editor, to jaPBe. But this only work, when you set the original editor to run once instance only!
The Visual Designer just executes the IDE with the 2 filenames as parameter in the command line.
3.70 IDE supports multiple sources in command line
GPI
PureBasic Expert
PureBasic Expert
Posts: 1394
Joined: Fri Apr 25, 2003 6:41 pm

Re: jaPBe - First Release

Post by GPI »

>The Visual Designer just executes the IDE with the 2 filenames as
>parameter in the command line.
>3.70 IDE supports multiple sources in command line

Then it is a bug in IDE, because it don't send both files, only one.
User avatar
Inner
PureBasic Expert
PureBasic Expert
Posts: 714
Joined: Fri Apr 25, 2003 4:47 pm
Location: New Zealand

Post by Inner »

Can't seam to set the foreground for the selection, this is nessary because the background color is always black.

otherwise cool :)
Berikco
Administrator
Administrator
Posts: 1326
Joined: Wed Apr 23, 2003 7:57 pm
Location: Belgium
Contact:

Re: jaPBe - First Release

Post by Berikco »

GPI wrote:>The Visual Designer just executes the IDE with the 2 filenames as
>parameter in the command line.
>3.70 IDE supports multiple sources in command line

Then it is a bug in IDE, because it don't send both files, only one.
I don't call it a bug if some 3de party software don't work...
VD and IDE work just fine together.
You need a function that does not exist...and is not needed for the original...so no bug.
gnozal
PureBasic Expert
PureBasic Expert
Posts: 4229
Joined: Sat Apr 26, 2003 8:27 am
Location: Strasbourg / France
Contact:

Post by gnozal »

Here is a french language file for jaPEe.
Francais.txt
;
; jaPBe Language File
;
; ° = Tabulation
; ^ = Nouvelle ligne

;InfoBox
;#######
; Bienvenue à %ver% pour %PBver%
0: Bienvenue à jaPBe
198: pour

1: Charger fichier
13: Enregistrer fichier
10: Charger Définitions
2: Terminé
11: Re-Styler
40: Fermer
41: Enregistrer Definitions
42: Charger Liste de fichiers
43: Liste de fichiers chargée.
44: Enregistrer Liste de fichiers
45: Liste de fichiers enregistrée.
108: Enregistrer Declare
133: Enregistrer Bloc
134: Charger Bloc
211: Démarrer Plugin

;Messages
;########
4: Chargement impossible
14: Enregistrement impossible
34: Le fichier existe déjà.^Voulez-vous l'écraser?
35: Un répertoire de même nom existe déjà.
36: Le fichier a été modifié.^Voulez-vous le recharger?
110: Désolé ; les éléments pliés sont protégés contre l'écriture!
3: Mémoire insuffisante!
212: Impossible de lancer le plugin!
245: Désolé, le visualisateur de structures a planté.^Il a été refermé...
246: Le fichier n'est pas compatible avec jaPBe!^Voulez-vous vraiment le charger?
247: Fichier Include introuvable.

;Main-Window / Editor
;####################

; Tab
;----
12: <nouveau>

; Info-Panel
;-----------
19: Signet
20: Var
21: Const
22: Struct
23: Proc
;Bookmark
24: Non trié
25: Trié : vers le haut
26: Trié : vers le bas
27: Non trié (groupé)

;main-menu
;#########
28: Fichier
;--------
29: Nouveau°Ctrl+N
30: Ouvrir...°Ctrl+O
31: Enregistrer°Ctrl+S
32: Enregistrer sous...°F12
33: Enregistrer tout
37: Fermer°Ctrl+W
38: Fermer tous
39: Enregistrer comme définition...
46: Charger liste de fichiers...
47: Enregistrer liste de fichiers...
107: Enregistrer comme déclaration...
75: Préférences...°Ctrl+P
96: Fichiers récents
97: Quitter

15: Edition
;--------
16: Annuler°Ctrl+Z
17: Répéter°Ctrl+Y
18: Couper°Ctrl+X
99: Copier°Ctrl+C
100: Coller°Ctrl+V
101: Insérer Bloc de commentaires°Ctrl+B
102: Supprimer Bloc de commentaires°Alt+B
103: Augmenter Indentation°Tab
104: Diminuer Indentation°Shift+Tab
105: Indentation automatique°Ctrl+Tab
131: Enregistrer Bloc...
132: Charger Bloc...
106: Sélectionner tout°Ctrl+A

111: Chercher
;--------
112: Chercher/Remplacer...°Ctrl+F
113: Chercher suivant°F3
114: Aller à la ligne...°Ctrl+G

127: Pliage
;--------
128: (Dé)plier°Ctrl+D
129: Plier tout°Alt+D
130: Déplier tout°Alt+Shift+D

135: Compilation
;------------
136: Compiler/Exécuter°F5
138: Exécuter°F6
139: Débogueur
140: Définir comme fichier principal
141: Options de compilation...
142: Créer un exécutable...

194: Outils
;---------
195: Visualisateur de structures°Alt+S
205: Table Ascii°Alt+A
206: Choisir une couleur°Alt+P
242: Configuration des outils

181: Aide
;--------
182: Aide...°F1
249: A propos...

; Menu PopUp
;--------------
137: Document
241: Outil
210: Plugin
183: Aide externe

; Couleur PopUp
;---------------
207: Copier comme RGB()
208: Copier comme Hex (RGB)
209: Copier comme Hex (BGR / Default)

; ToolBar-Info
;----------------
169: Nouveau fichier
170: Ouvrir
171: Enregistrer
172: Fermer
173: Couper
174: Copier
175: Coller
176: Annuler
177: Répéter
178: Chercher
179: Options de compilation
180: Compiler/Exécuter

;Dialogbox general
;#################
68: Ok
69: Annuler

48: Préférences
;##############

8: Général
;----------
91: Language
92: Une seule instance de jaPBe (redémarrage nécessaire)
93: Répertoire par défaut
94: Répertoire de PureBasic (redémarrage nécessaire)
95: Montrer toute la procédure dans les signets
109: Création automatique d'un fichier de déclarations
123: Rafraîchir toute la fenêtre (parfois nécessaire sous Win9x)
124: Minimiser automatiquement le panneau d'informations (comme la barre des tâches)
189: Délai avant d'ouvrir :
184: Associer .PB, .PBI, .PBFL avec jaPBe
; Messages
;------------
185: jaPBe est associé avec .PB, .PBI, .PBFL

67: Style/Editeur
;----------------
49: Défault
50: Variable
51: Constante
52: Nombre
53: Structure
54: Procédure
55: Mot clé
56: Chaîne
57: Commentaire
58: Mnémonique ASM
59: Signet ;-
60: Titre ;/
61: Parenthèse ()
62: Parenthèse ERR()
63: Numéro de ligne
64: Guide d'indentation
65: Ligne en cours
66: Sélection
70: Gras
71: Italique
72: Sousligné
73: Police
74: Fond
76: Toutes les polices
77: Tous les fonds
78: Distinguer la ligne en cours
79: Activer la coloration
80: Montrer les guides d'indentation
81: Montrer les espaces
82: Montrer les fins de ligne (EOL)
83: Montrer les numéros de ligne
84: Montrer la marge d'indentation
166: Coloration alternative des parenthèses

186: Editeur (2)
;------------
187: Scroll vers le haut au dépliage
85: Changement de casse automatique
86: Indentation automatique
87: Marge automatique
88: Horizontal (Pixels)
89: Vertical (Lignes)
90: Tabulation
196: Compléter automatiquement les mots clés

; ToolTip
;-----------
188: Ce paramétrage sera repris pour tous les autres styles

115: Chercher / Remplacer
;##################
116: Chercher:
117: Remplacer par:
118: Mots entiers
119: Distinguer Maj/Min
98: Caractères étendus
120: Suivant
121: Remplacer
122: Remplacer tout
; Messages
;------------
125: Plus d'élément trouvé!

126: Aller à la ligne
;#############

157: Options de compilation
;####################
143: Fichier :
144: Icône :
145: Activer l'assembleur en ligne
146: Exécutable compatible NT4
147: Activer le support des thèmes XP
148: Format de l'exécutable :
149: Argument :
190: Activer le support des numéros de lignes pour OnError
150: Tous les CPU
151: CPU Dynamique
152: CPU avec MMX
153: CPU avec 3DNOW
154: CPU avec SSE
155: CPU avec SSE2
156: Ce fichier
158: Windows
159: Shared DLL
160: Console
; Compiler errors
;-------------------
162: Le compilateur n'a pas démarré.^Vérifiez les préférences et relancez jaPBe.
163: Erreur fatale du compilateur
164: Erreur de l'assembleur
165: Erreur à l'édition de liens
167: Erreur du compilateur
; InfoBox
;-----------
161: Compilation en cours...
168: Création de l'exécutable...
5: Initialisation du compilateur...
6: Impossible d'initialiser le compilateur.
7: Chargement des fonctions PureBasic...
9: Compilateur terminé.

191: Visualisateur de structures
;####################
192: Parent
; Messages
;------------
193: Structure introuvable.
197: Le compilateur n'est pas prêt, essayez plus tard!

199: Table ASCII
;###############
200: Copier comme chaîne
201: Copier comme 'char'
202: Copier en Hexadécimal
203: Copier en Decimal
; Messages
;------------
204: Caractères interdits dans la chaîne!

215: Ajouter outils
;#############
213: aucun
214: Ligne de commande:
216: Parcourir
217: Libellé du menu:
218: Raccourci:
219: Exécution invisble
220: Attendre la fin de l'exécution
221: Recharger la source après l'exécution dans
222: un nouvel onglet
223: l'onglet courrant
224: Cacher l'éditeur
225: Options
226: Ajouter
227: Insérer
228: Remplacer
229: Eléments du menu:
230: Supprimer
231: Monter
232: Descendre
243: Arguments: ( %PATH , %FILE , %TEMPFILE )
244: Répertoire de travail:
; Messages
;------------
233: Aucun élément sélectionné
234: Voulez-vous vraiment
235: supprimer l'élément ?
236: Ligne de commande non saisie!
237: Libellé du menu non saisi!
238: Ce libellé est
239: déjà utilisé!
240: Raccourci déjà utilisé

248: A propos
;#########
GPI
PureBasic Expert
PureBasic Expert
Posts: 1394
Joined: Fri Apr 25, 2003 6:41 pm

Post by GPI »

Inner wrote:Can't seam to set the foreground for the selection, this is nessary because the background color is always black.

otherwise cool :)
Ähm, for selection you can only the background, because a selection don't touch the foreground-color.

@gnozal
Thanks for the language file

@Berikco
No, they don't work good togehter.
Open PureBasic, set it to "run once" (maybe you should close and open the editor), then open the visual designer and then the PB-Editor only get one file!
Searhin
User
User
Posts: 41
Joined: Mon May 26, 2003 10:53 am
Location: Germany

Post by Searhin »

@GPI

looks very good, will use your editor in future! Thanx for posting :D :D
gnozal
PureBasic Expert
PureBasic Expert
Posts: 4229
Joined: Sat Apr 26, 2003 8:27 am
Location: Strasbourg / France
Contact:

Post by gnozal »

Great work :D
Some little bugs I noticed :
- a.f = 5.0 =====> jaPBe thinks .0 is a structure
- !jne .done =====> jaPBe thinks .done is a structure
Tranquil
Addict
Addict
Posts: 952
Joined: Mon Apr 28, 2003 2:22 pm
Location: Europe

Post by Tranquil »

Thanks for this brilliant editor. I replaced it with the original one. Nice work!!!! Thanks a lot!
Tranquil
Tipperton
Addict
Addict
Posts: 1286
Joined: Thu Jun 19, 2003 7:55 pm

Post by Tipperton »

GPI wrote:
Inner wrote:Can't seam to set the foreground for the selection, this is nessary because the background color is always black.
Ähm, for selection you can only the background, because a selection don't touch the foreground-color.
Is this a limitation of Scintilla? The original editor DOES change the foreground color to white, so it is posible for selection to "touch" the foreground color.

When you say that this can only be compiled with 3.71 beta-2 or better, are you referring to the Visual Designer? AFAIK the editor is still 3.70.

Otherwise: Excellant! jaPBe is now my default PB editor (after looking at other alternatives :roll:)... :mrgreen:
GPI
PureBasic Expert
PureBasic Expert
Posts: 1394
Joined: Fri Apr 25, 2003 6:41 pm

Post by GPI »

>Is this a limitation of Scintilla? The original editor DOES change the
>foreground color to white,

Not exactly, he invert the Textcolor.

>so it is posible for selection to "touch" the
>foreground color.

Richedit does it, but Scintella not.

>When you say that this can only be compiled with 3.71 beta-2 or better,
>are you referring to the Visual Designer? AFAIK the editor is still 3.70.

I use ListIndex() and that has changed in the beta, so when you compile jaPBe with 3.7, you can get realy problems! Don't do this.

@gnozal
>- a.f = 5.0 =====> jaPBe thinks .0 is a structure

Ok, this is easy

>- !jne .done =====> jaPBe thinks .done is a structure

This would be harder. Is done a Variable? I don't know anything about the ASM-Support.

Will changed in the next version, but not thistime

http://caosandkin.bei.t-online.de/pureb ... .3.7.8.zip

Runtime - Relanguage
- forget some sentence

Preferences
- Forget to set the Alternate Bracetype
* Add Style Selector
- File Associate changed (because XP makes a litte (non-critical, only "unnice") problem. rightclick on .bmp in the explorer, open with..., select programm. jaPBe has there 3-4 Entries.)
it is recommend to press the File-Associate-Button again.
* Definitions-Selector

Save before create Executable
- saved wrong file (the actual, not the main)

ToolTip
- Mark-Error corrected

Compiler-Options
* Disable all the others, when "compile this" not set to "this file".
* Advanced Options!
With the help from ResHacker and GoRC i can create Version-Information, include the manifest in the exe and the support of icon-files, which contains more than one icon.
The ResHacker and GoRC-Files found you in the folder 'Tools\'

About
* New Logo
* Hyperlink "www.purebasic.com"

Visual Designer Plugin
* overworked
(i copy now all Visual Designer Files in a new directory with a fake PureBasic.EXE. So jaPBe becomes now all files)
gnozal
PureBasic Expert
PureBasic Expert
Posts: 4229
Joined: Sat Apr 26, 2003 8:27 am
Location: Strasbourg / France
Contact:

Post by gnozal »

GPI wrote: !jne .done =====> jaPBe thinks .done is a structure

This would be harder. Is done a Variable? I don't know anything about the ASM-Support.
.done is a label (it is an example I had on my HD).
GPI
PureBasic Expert
PureBasic Expert
Posts: 1394
Joined: Fri Apr 25, 2003 6:41 pm

Post by GPI »

>.done is a label (it is an example I had on my HD).

Ok, jaPBe handle labels as variable, because jaPBe can't see any diffrent between variable & labels.

Ok, i found a good point to found this. When before the "." is a space, or an other special char, the follow characters is seen as a variable.

btw: When you want to translate the new sentence of jaPBe, you must only translate all sentence same or higher 250.
Post Reply