Last update March 7, 2012

Editor Support /
Ultra Edit



To configure UltraEdit for D

  1. Under the menu option Advanced item Configuration tab Syntax Highlighting
    1. Select Open (to open WORDFILE.TXT)
    2. Paste the code from the "UltraEdit Word File" (at the bottom of this page) at the bottom of this file. Alternatively, you can download the D wordfile from the UE website.
    3. If you have previously edited this file:
      1. Look for the first line that was pasted, beginning with /L10"D"
      2. Edit the number 10 in /L10 to insure that it is greater than the previous /L tag.
  2. Under the menu option Advanced item Configuration tab File Types
    1. Enter a file mask in File Names equal to: *.D
    2. Enter a file description in File Descriptions equal to: 'D' Files, (*.D)
    3. Click Insert

If you want to compile and run your D applications from UltraEdit:

  1. Under Advanced -> Tool configuration:
a)
      • "Command Line": Compile.bat
      • "Working directory": %P
      • "Menu Item Name": Compile
      • Check "Save active file"
      • Select "Output to List Box"
      • Check "Capture output"
      • Press "Insert"
b)
      • "Command Line": Run.bat
      • "Working directory": %P
      • "Menu Item Name": Run
      • Uncheck "Save active file"
      • Check "Show DOS Box"
      • Uncheck "Capture output"
      • Press "Insert"
c) If you have a German keyboard, you should also do:
      • "Command Line": -
      • "Menu Item Name": Dummy
      • Press "Insert"
      • ... and move it to the very top. That way your custom tools start with CTRL+SHIFT+1 and not CTRL+SHIFT+0 (German keyboard layout: 1,2,3,4,5,6,7,8,9,0)
d) You should move "Compile" to the top and position "Run" below it.

e) Now put something like
dmd <file.d>
... in a file called "Compile.bat" that resides in your source code folder.

f) Then put something like
<file.exe>
 pause
... in a file called "Run.bat" that resides in your source code folder.

Then you'll have a very flexible setup that protects you from using the command line too often.

To compile your project (really to invoke Compile.bat in the current directory) press CTRL+SHIFT+0 (1 on German keyboards).

To run your project press CTRL+SHIFT+1 (2 on German keyboards).

It doesn't matter which file is open/active when you run one of the tools - as long as it is in the same directory as Compile.bat and Run.bat. That way you can also edit them (try different compilation options etc.) and immediately see the changes.

UltraEdit Word File

/L12"D" Line Comment = // Block Comment On = /* Block Comment Off = */ Block Comment On Alt = /+ Block Comment Off Alt = +/ Escape Char = \ String Chars = "'` File Extensions = D DI
/Delimiters = ~!@%^&*()-+=|\/{}[]:;"'`<> ,	.?
/Function String = "%^([a-zA-Z_0-9^[^]*]+^)[ ^t]+([^p*&:, ^t^[^]a-zA-Z_0-9.!]++)[~;]"
/Function String 1 = "%[a-zA-Z_0-9*]*::^([a-zA-Z_0-9^~]+^)[ ^t^p]++([^p*&:, ^t^[^]/*^-'=:&a-zA-Z_0-9./(!]++)[~;]"
/Function String 2 = "%[a-zA-Z_0-9^][a-zA-Z_0-9^[^]]+[ ^t*]+^([a-zA-Z_0-9]+^)[ ^t]++([^p*&:, ^t^[^]a-zA-Z_0-9./(!]++)[~;]"
/Function String 3 = "%[a-zA-Z_0-9*&$^[^]*]+[ ^t]+[a-zA-Z_0-9*&$^[^]]+[ ^t*]+^([a-zA-Z_0-9]+^)[ ^t]++([^p*&:, ^t^[^]a-zA-Z_0-9./(!]++)[~;]"
/Function String 4 = "%[a-z_0-9^[^]*]++ [a-z_0-9*^[^]]+[ ^t]++[a-z_0-9*^[^]]+[ ^t]++^([*a-z_0-9]+^)[ ^t]++([^p*&:, ^t^[^]a-z_0-9./(!]++)[~;]"
/Function String 5 = "%^([a-zA-Z_0-9^[^]*]+^)[ ^t]++([^p*&:, ^t^[^]a-zA-Z_0-9./()!]++)[~;]"
/Member String = "^([A-Za-z0-9_:.]+^)[ ^t^*&]+$S[ ^t^[^]A-Za-z0-9_]++[(-);,]"
/Variable String = "%[ ^t]++^([!-~ ^t<>]+*[~a-z^p]^)$S[ ^t;,()^-]"
/Indent Strings = "{" "if" "else" ":"
/Unindent Strings = "}"
/Open Brace Strings =  "{" "(" "["
/Close Brace Strings = "}" ")" "]"
/Open Fold Strings = "{"
/Close Fold Strings = "}"
/C1"Keywords" STYLE_KEYWORD
abstract alias align asm assert auto
body bool break byte
case cast catch cdouble cent cfloat char class const continue creal
dchar debug default delegate delete deprecated do double
else enum export extern
false final finally float for foreach foreach_reverse function
goto
idouble if ifloat import in inout int interface invariant ireal is
long
macro mixin module
new null
out override
package pragma private protected public
real ref return
scope short static struct super switch synchronized
template this throw true try typedef typeof
ubyte ucent uint ulong union unittest ushort
version void volatile
wchar while with
/C2"Operators"
!
%
*
+
-
// /
<
=
>
^
|
~

FrontPage | News | TestPage | MessageBoard | Search | Contributors | Folders | Index | Help | Preferences | Edit

Edit text of this page (date of last change: March 7, 2012 20:34 (diff))