Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - Stefan

Pages: 1 [2] 3 4 ... 9
HippoEDIT vs Other text editors / PowerGui
« on: February 13, 2010, 10:05:07 am »
PowerGui - a free community for PowerGUI, a graphical user interface and script editor for Microsoft Windows PowerShell!

Just as an hint: see how PowerGui insert snippets at e.g. 04:00, 08:15 and 12:48
(it's like HippoEDITs Command-Hints, just an pop-up, no side bar)

Solved / Find&Replace-Dialog > RegEx - 'More Info...' crash
« on: January 06, 2010, 04:28:40 pm »
HippoEdit 753

I do:
Find or Find&Replace-Dialog
> RegEx mode
> click on the RE-help arrows
> click on 'More Info...'

I get:
HE crashes
HippoEdit.exe - Fehler in Anwendung
Die Ausnahme "unknown software exception" (0xc000000d) ist in der Anwendung an der Stelle 0x7813faa3 aufgetreten.

Klicken Sie auf "OK", um das Programm zu beenden.
Klicken Sie auf "Abbrechen", um das Programm zu debuggen.
OK   Abbrechen   

After an little research i found that this is gone if i switch
in ...\HippoEDIT\HippoEdit.config

Implemented / Project > Save all open files as...
« on: December 29, 2009, 01:31:44 am »
I have used the project-feature the first time.
I want to store all open files as an session.
I use "Project > Save as..."  and think i am done, not knowing that i have to add the files in an additional step too.

So i want to suggest either:
A) new menu item " Project > Save all open files as... "   to save an new project AND add all open files in ONE step.
b) After using "Project > Save as.." prompt the user to save all open files. But i would find this annoying.
or,  or, or... lets think some more  :P

This is just an first thought... what think others about an session-feature?

Solved / Remove current file from project works only after reload
« on: December 29, 2009, 01:17:56 am »
- I have added all open files to an project and saved this project.
- Then i want to remove one file which not belongs to this project,
   but the menu item "Remove current file" was greyed out.

I had to close and reopen this project to be able to use this option.
I think this additional step is an bug?


the second time this works fine.
The different was the now open project pane.

If i try again from fresh i can reproduce:
- open NOT the project pane, i have the file explorer open
- Project menu > Save as...
- Project menu > Add > All open files
- Project menu > try to remove one file via project menu.... the item is greyed out
- open the project pane... the item to remove an file is accessible

Syntax Files / Higher parsing priority for SCOPES ?
« on: December 29, 2009, 12:34:00 am »
To make an snippet file i add an SCOPE mySS<>mySE

          <Scope open="myss" close="myse"/>

But this doesn't works IF the code in between has an error,
as for example i had an un-closed FUNCTION (because this was no function but the word "Function" only.
This has the effect that the SCOPE is just not closed (see picture)
An solution was to misspell the word Functio-n or add an 'end function'

The same problem i have with other example code blocks, which are all example descriptions...
but i think this also happens if my real code has an error... and i just want to fold this part of code
even with this error, to fix this later.

So i want to ask:
is there an option, or could this be an feature request, to give the SCOPE an higher priority
to work even if other SCOPES like Function or other code has error, or is just un-finished?
I mean smtg like "force folding"  :P

This is 752

Bug reports / Syntax files and Code Templates
« on: November 10, 2009, 04:36:22 pm »
741 and 735

I have an problem with an keyword

I have an keyword "buttons" but can't execute them
because with TAB-key the word "buttons" is expanded to "BUTTONSHADOW"

\data\syntax\basic_spec.xml:    <Keyword text="BUTTONSHADOW"/>
\data\syntax\vbs_spec.xml:      <Keyword text="buttons" descr="vbOKOnly 0 Display OK button only.\n vbOKCancel 1 Displ...

Note: I have ENTER disabled as trigger, i want to use TAB only.
I can click or press enter while in Ctrl+Space dialog, but that only completes "butto" to "buttons" but doesn't insert the expanded CT

What would be an solution here?
* modify trigger chars "buttons" to have no conflict?
* have an option to hold CTRL while clicking in Ctrl+Space dialog to expand the CT?
* do i smtg wrong?

Bug reports / Beta 741
« on: November 10, 2009, 02:51:51 pm »
Version 741:
New. Output support input. Try to add as tool cmd.exe to get integrated dos console.

Just an response as just FYI:

* the command word is doubled   (>dirdir)
* the command CLS didn't work
* the command CTRL+X insert an up-arrow (see picture)
* Tip: i can right click the tab of an document and copy the full path, which i can paste into InOutput-Dialog
* in InOutput-Dialog-context menu an Paste item is missed (maybe)


Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.


 Datenträger in Laufwerk H: ist

H:\>sort H:\a\HippoEDIT\own\NOTIZEN.TXTsort H:\a\HippoEDIT\own\NOTIZEN.TXT

General Discussion / Welcome New Member, say Hello and tell us your story
« on: November 10, 2009, 12:11:25 am »

Hello new member, welcome to our forum and welcome to HippoEDIT

If you want you may explain how you have found HippoEDIT,
what for you use it, what you like on it and what you expect from it.

If you like, say something about yourself and your background or skills.
Where do you come from? Which is your favorite soccer club? What do you do in real live?
(Old user may contribute as well, of course  ;))

If you do not want to tell us that much, you may just post an "Hello, i am here!" ;D

How ever you feel, welcome!
We hope you will enjoy staying here and also will be satisfied using HippoEDIT

Happy HippoEDITing
Alex, Stefan and all current HippoEDIT users

- - -

If you don't know what to do next we will mention a few interesting places to go:
If you just want to share your test experiences => Testimonials (Pleased user thanks)
If you want to say "Thank you" for an special feature => Great feature, thank you Alex!
If you like to know about release frequency => The support Iteration FAQ
If you want to learn about Syntax files or RegEx => Browse the FAQ Forum
If you want to contribute on improvements => Feature requests Forum
or vote for Which feature you would like to see in HippoEDIT next?
If you want to read the Roadmap, point to => Beta 1.50
If you want to help implementing Scripting, browse to => Scripting, Scripts and Macros
If you use an other Editor, tell us what's better with it => HippoEDIT vs Other text editors
If you have found an bug or an malfunction, describe it here => Bug reports
If you are an experienced user and want to test betas, check out => Beta Version Test Forum
If you want to Download latest stable release of HippoEDIT, visit the => Download Page
If you want to see all the features of HippoEDIT find them at => Features Page

Syntax Files / HippoEDIT explained: the Syntax xml files
« on: November 03, 2009, 05:52:02 pm »
Welcome to "HippoEDIT explained"

Today we will learn something about the language - "Syntax" files (see picture on the end)

Please note that Alex have explain the basic about this in the topic "Adding new Language Syntax"
and also in this topic "What means All, Default, Default source, Text etc" already.

I only take this information and test it how this works to get an better understanding for it.
This may be from interest for others, so i share here my experiences on the way to succeed  ;D
(Please note that english isn't my mother language, so perhaps something may be not well written)


To know how to highlight the syntax, where to fold the code,
what are the keywords and to provide you with Code Templates
HippoEDIT store this information in Language Syntax Files (LSF) in XML format.

This LSF are stored in an SYNTAX-sub-folder of the HippoEDIT (HE) DATA-folder.
For example: if you have installed HE on "X:\HippoEDIT"
then the syntax files are found in "X:\HippoEDIT\Data\Syntax" (see (1) in picture)
(Note: you can change this path, but that's not an topic of this post)

{todo - note that data folder is searched recursively with all sub-folders }


HippoEDIT use an clever technic that allow you to  add and modify common definitions for one,
two or many (programming) languages at only one single place, inheritance.
That means that there is an basic LSF which holds common rules* and other LSF can
be advised to inherit this rules. The inherited and the own rules are combined with an ingenious
algorithm to an new, just-in-time rule. This strategy works  across several LSF too, if needed,
Dummy Example: Basic-LSF < Common-Language-LSF < Language-LSF < YourOwn-LSF   (see (2) in picture)

*Rules: which rules that are is explained later.

Inheritance Explanation:

In the picture at point (2) you can see how the LSF's are inherited.

Note: You don't have to use this inheritance feature. You can still modify every LSF on its own,
but then you may do the work twice. So its proposed to get familiar with some basic of this
to understand how HE works and to make your work more easy and boost your performance.

- Inherit-Level 1
  First there is an LSF called def_spec.xml (DEFinition SPECification)
  In def_spec.xml  are all rules defined which should be set for all other LSF which inherit from this def-LSF.
  In theory on this level there could be an "stand alone", independent syntax, which inherit from nothing,  too.

- Inherit-Level 2
  Then there is an fork. Two other basic LSF inherit from def : defsource_spec.xml and deftext_spec.xml
  * defsource is the basic LSF for all languages dealing with source code (c++, php, css etc)
  * deftext is the basic LSF for text based (Plain text, xml, html etc) documents.

- Inherit-Level 3
  On this level there are LSF with different purposes:
  A  Just an "stand alone" LSF for an language as  xxxxxxx e.g.
  B  An LSF as f.ex. basic_spec (basic means the BASIC language),
      which works "stand alone" for the BASIC language itself
      and in turn is an Common-Basic-LSF for other BASIC-like languages as VB and VBS.
  C  Dedicated Common-Basic-LSF.
      Example: Since all C-language dialects may have the same basic rules there is in consistence
      an cBase_spec which is the starting-point for all following c-language like syntaxes, as C++_spec e.g.

- Inherit-Level 4
  Here are LSF which have an Common-Basic-LSF, as VBS_spec has basic_spec as ancestor.
  (BTW: again, there is no strict advice that you have to use this Inherit-Level-thinggy, you may also create
  an xyz_spec for your own use without any inherit-instruction and put all rules there in. It's up to you)

- Inherit-Level 5
  I don't know if there is any LSF on this level right now.
  But you could for example create your own LSF which you can advice to inherit from vbs_spec.
  This way it must be possible to create user-own syntax files which no installer overwrites never.
  I will test this too since this is an common question.

What means Inheritance? - What is inherited from ancestor?

How to break Inheritance? - How to use other rule as the ancestor has defined?

todo, will come soon (i hope  :P )
Accessing the LanguageSyntaxFiles:
(see (3) and (4) in picture)

- to have a overview of the inheritance Tools or Help manage dialogs can be use with Show All Syntaxes

todo, will come soon (i hope  :P )
The Rules:

*  <FILEINFO author="" type="LangSpec"/>

*  <SYNTAX id="cpp" name="C++" inherit="cbased" inherit_url="cbase_spec.xml">

      <FilePattern mask="*.c;*.cpp;*.cxx;*.hpp;*.hxx;*.inl;*.h">
        <Pair file1="*.cpp" file2="*.h"/>

* Keywords How to make keyword list for syntax file at easy

* Styles,83.msg883.html#msg883

* Scopes / Code Folding => HowTo fold your code with code folding
Where does "Region Name" being referenced from,204.0.html

* Highlighting

* Labels / Code Explorer => "Navigation Bar", "Function List", "Code Browser"

* Code Templates Code Templates Tricks & Tips,137.0.html

todo, will come soon (i hope  :P )
User specific LanguageSyntaxFiles

(see (5) in picture)

XML Syntax Rules
What do you have to know about HippoEDIT XML files?

First: you should use HippoEDITs build-in possibilities
         to modify the syntax files to always get an proper formated syntax file.

However, if you are an experienced user you may  want to edit the files directly in editor.
So here are some rules generally about XML and specially for HippoEDIT:

* Tag elements must be nested with care: first close an tag before open an another one.

   Example Tree:
         <elementtag> value value value </elementtag>
         <element attribute="value"/>
     <!-- <element> element commented out </element> -->

* There is no specific order in XML tags necessary. E.g. it's no matter if SCOPES came first or STYLE.
    But for keywords-list it is better to keep alphabetic order - this way internal loading is faster.
* All XML tags and attributes are case sensitive.
* The opening and closing tags must be written with the same case.
* You can use comments in XML by using: <!-- comment -->
* All not English text should be correctly encoded in UTF-8
* Attribute "values" mostly have to be quoted with double quotes "...".
  But not always. For code template the template itself and for <settings>...</settings> there are no quotes needed.
  Just take an look into the default distributed syntax files to get an idea where quotes are needed and where not.

 The best is you let HippoEDIT modify the LSF for you. He knows best which signs where to exchange with entities.

* Entity List:
   &lt;    <    less than
   &gt;    >    greater than
   &amp;    &    ampersand
   &apos;    '    apostrophe
   &quot;    "    quotation mark

* Special chars in values:   
   \t       tab
   \n       new line (line break)
   \\       backslash

Extern Links about XML:


Bug reports / New CodeTemplate not recognized
« on: November 02, 2009, 10:36:01 am »
Hi Alex,

last week on Friday i have added an code template to HTML (see pic)
But if i now type '<div'  and press CTRL+Space i didn't see this template in the CT list.
I have to type '<divwi' to get the template.
I think all templates starting with '<div' should be shown?


And right now, when i press CTRL+Space and start typing 'dic' (yes, 'dic' by mistake) i get an error (pic 2)

The HTML code was "Paste as HTML" from

The "restore open files" works two out of three times only, one time i was left back with an 0 byte file.

Welcome to "HippoEDIT explained"

Today we will learn something about  "Navigation Bar" (see picture on the end)

Quote from: Help
Navigation bar and Labels.
How much time you want to navigate between classes in
you CSS, functions in your C file or sections in INI
file? Now it is possible with help of Navigation bar
and Labels. If you have Labels defined for your syntax,
Navigation Bar, located on top go your document, would
show you list of the labels found in the document.
Helps to filter and navigate to any label, see current
label when navigating in source code, go fast to label
definition in the document with one mouse click. You
can think about Navigation Bar and Labels as about
Function List, used in other editors, but they are much
more powerful. With Label you can define any regular
expression that should represent label, use result of
the match to form Name of the Label and Description,
select which image should be used depending on result
of additional evaluation, or define sub image that can
represent, for example, visibility of label (Private,
Protected or Public). You can bind Label with Scope and
it would be shown on Hierarchy Bar and in Scroll Tip.
Found labels are also used for Smart Navigate, so if
you would call the command on some usage of the label,
you would be driven to label definition.

Please note that Alex have explain the basic about this in the topic "Adding new Language Syntax" already.
I only take this information and test it how this works to get an better understanding for it.
This may be from interest for others, so i share here my experiences on the way to succeed  ;D
(Please note that english isn't my mother language, so perhaps something may be not well written)

Navigation Bar could also be called "Function List" or "Code Browser"
Basically a place where you see a list of functions, variables modules and classes in currently active file.

You can enable the "Navigation Bar" by checking the menu option "View > Panes > [X] Navigation Bar"

The Navigation Bar can be used mostly in any syntax.
It depends (configured) on labels definitions from syntax schema.
See this other topic "Adding new Language Syntax" for more information about this.

For example:
   <Label group="Subroutine" match="\&lt;(sub|function)[\s\[]+(\w+)[\s\]]*(\([^)]*\))" name="\2" descr="\1 \2 \3" image="8" scope="1">
      <Image if="\1" equal="sub" value="8"/>
   <Label group="Class" match="\&lt;(public|private)?\s+class\s+(\w+)\s*" name="\2" descr="Class \2" image="4" scope="1">
      <SubImage if="\1" equal="public" value="1"/>

Here the label "Subroutine" will match lines containing "Sub" and "Function" words.
Next i will try to explain the RegEx a bit...

Example source code line:
typedef struct _infobox {

Label definition in HippoEDIT syntax file:
<Label group="Structure" match="struct\s+(\w+)[^\;{]*\{" name="\1" scope="1" image="9"/>
The RegEx (regular expression) term to match an string for an "struct" definition in *.c is defined here as:
The RegEx we use is the part between the both "..." quotes.
To understand this syntax you may want to learn something about RegEx first, if you not already know it.
Good place to learn are for example:

- - -

I will try to explain this RegEx as good as i can, but i doesn't want to copy an regular expression HowTo here.

The RegEx "struct\s+(\w+)[^\;{]*\{" can be split into several parts:

That means:
struct      find the chars 'struct' literally
\s+          followed by 'one or more' (+) 'whitespace' (\s)
(\w+)      followed by 'one or more' (+) 'alphabetic chars' (\w). This part is grouped by (...) to back reference to later.
[^\;{]*      NOT followed by 'null or more' (*) of any of the signs found between [...], as this are ';' and '{'
\{          but followed by an '}' sign.
The "Name" -part of the definition is used to give the found source code line an Name, displayed in the Navigation Bar.     
name="\1"   '\1' means: take that what was found with  (\w+), what is  "_infobox" in our case

- - -

If the Navigation Bar do not show you anything for some syntax, probably labels are not defined for this syntax.
In this case you can add the labels by yourself.
See this other topic "Adding new Language Syntax" > here < for more information about this.

- - -

The HippoEDIT syntax engine (HSE) would use an LABEL only in "normal" style.

So if we want to use our LABEL with an other STYLE such as "comment" style for example,
we have to told HSE to use the LABEL in that style too.

We do that by adding an CONTAINER advice to the LABEL definition: <Containers open="comment"/>

Here i have created an LABEL in my VBS syntax.
The term here to catch is "'//ToDo:"
This means, i want to write '//todo: in my code and the "match"-RegEx of the following  label definition
should match this term and show it into the "Navigation Bar", so i can jump through all ToDo's line in my code.

Now, because this ToDo lines are of course commented out in my code
i had to advice the HSE to match my label in comments too.
I have done this by adding the string "<Containers open="comment"/>" to my LABEL:
         <Label group="ToDo" match="//ToDo:\s*(\w*?)\s+(.*?)$" name="ToDoName \1" descr="ToDoDesc \1 \2" image="6" scope="1">
            <Image if="\1" equal="ToDo" value="9"/>
            <Containers open="comment"/>

The CONTAINER "comment" again do point to an STYLE named "comment" in an <lang>_spec syntax xml.

This comment style for my VBS syntax is inherited from "basic_spec.xml"
and looks like this:

     <Style id="comment" name="Comments" text="1" bold="0" italic="1" underline="0" clr="Comments" bkclr="#FFFFFFFF">
          <Block open="'" close="\n"/>
          <Block open="REM" close="\n"/>

That means that ' and REM are comment signs.

- -

If you want that this LABEL works for different STYLES
you can add one or more CONTAINER for every STYLE you want.

You can add your own STYLE definition or go the "inherit - way" back to look for an existing STYLE.
Quote from: inherit rules example
My vbs_spec.xml is inherited from "basic_spec.xml",
that is inherited from "defsource_spec.xml"
which is inherited again from "def_spec.xml"


--- Use the label in normal style only:
     No container needed here.
        <Label group="ToDo" match="" name="" descr="" image="6" scope="1">
            <Image if="\1" equal="ToDo" value="9"/>

--- Use the label in, f.ex. comment style only:
        <Label group="ToDo" match="" name="" descr="" image="6" scope="1">
            <Image if="\1" equal="ToDo" value="9"/>
           <Containers open="comment"/>

--- Use the label in comment AND normal style:
        <Label group="ToDo" match="" name="" descr="" image="6" scope="1">
            <Image if="\1" equal="ToDo" value="9"/>
           <Containers open="comment"/>
            <Containers open="normal"/>


See this other topic "Adding new Language Syntax" for more information about this.

- - -

Implemented / Restart HippoEDIT option
« on: October 30, 2009, 12:08:07 pm »
You know that HE didn't reload config files on the fly right now. We have to restart HE to see the changes.
For testing on different PCs, with a lot of other apps open, it is not always that nice to search for HE.exe to launch HE again.
(yes, i have shortcuts and QuickLaunch and launchers.... but ;-) ... often it is a bit of hassle )

So i may ask, ONLY if it not that much work!!!, if we can have an option like "File > Restart HE"

I know you don't want to add such stuff to keep HE clean.... so how about
an trick like holding CTRL+Shift-key while clicking on "File > Exit" to restart HE?

Solved / Tools: Command with %var% as path => no Icon
« on: October 30, 2009, 09:14:14 am »

IF i have for an COMMAND
an path build with %placeholder vars% , like %ProgramFiles%\Internet Explorer\IEXPLORE.EXE

THEN no icon for this command is resolved.

Even if i paste %ProgramFiles%\Internet Explorer\IEXPLORE.EXE into the ICON field.

It seams to me the ICON field doesn't works with placeholders?


Solved / Syntax file: HTML
« on: October 29, 2009, 02:26:36 pm »
I just used the Code Template <img ==> <IMG SRC="%InteractiveFile%" ALT=""/>

But since i doesn't want to direct to an local file (but type my own location in), i canceled the browse-file-dialog.
(I mean, %InteractiveFile% doesn't fit here)

The issue i saw here was that after canceling the browse dialog,
the Code Template was finished too, letting me alone with an '<img' -part in the document only.

Just as idea:
can it be that after canceling the browse dialog the template is pasted in, even empty?
<IMG SRC="%|%" ALT=""/>

Work around:
In the meantime I have added an second Template for that case.

 <imgi (old template img renamed to imgi,  i for interactive )
   Key: <imgi
   Des: <IMG interactive browse file
   Code: <IMG SRC="%InteractiveFile%" ALT=""/>

 <img  (new template img, for just pasting in the template )
   Key: <img
   Des: <IMG template
   Code: <IMG SRC="%|%" ALT="" />

I use 'Tools' to do an unique sort with "sort (GNU coreutils) 5.3.0". (,143.0.html)

Now, in Output panel, i have found an new context menu item "Copy to New Document". Thank you for that!

While this is very nice i want to ask to put an checkbox in Tools menu
like "[ ]To New Tab" ,  right under "[ ] Capture output".

Which is greyed out till "[X] Capture output" is checked.

That way i would save an step and doesn't need to have Output panel stay open.

I think this is an fine improvement till you have implemented "overwrite document or selected with output".
And also IF you would have this implemented, i think my suggestion is after them still from use.

What do you think?

Pages: 1 [2] 3 4 ... 9