diff --git a/README.md b/README.md
index 033aa65..c60ed28 100644
--- a/README.md
+++ b/README.md
@@ -1,20 +1,21 @@
Dlang IDE
=========
-Trying to write D language IDE using dlangUI library.
+D language IDE written using DlangUI library.
Currently supported features:
* Can open DUB (dub.json) projects
* Shows tree with project source files
-* Can open source files from project or file system in multi-tab editor
+* Can open and edit source files from project or file system in multi-tab editor
* D language source code syntax highlight (basic)
* Build and run project with DUB
-TODO:
+
-* Improve look and feel
-* Debugger support
+GitHub page: [https://github.com/buggins/dlangide](https://github.com/buggins/dlangide)
+
+DlangUI project GitHub page: [https://github.com/buggins/dlangui](https://github.com/buggins/dlangui)
Build and run with DUB:
@@ -23,8 +24,6 @@ Build and run with DUB:
cd dlangide
dub run
-Try to open sample project Tetris, from workspaces/tetris with DlangIDE.
+HINT: Try to open sample project Tetris, from workspaces/tetris with DlangIDE.
To develop in VisualD together with DlangUI, put this project on the same level as dlangui repository, and its dependencies.
-
-
diff --git a/dlangide.visualdproj b/dlangide.visualdproj
index 5e64820..6fcd812 100644
--- a/dlangide.visualdproj
+++ b/dlangide.visualdproj
@@ -31,7 +31,7 @@
0
0
0
- 0
+ 1
0
0
0
diff --git a/src/ddc/lexer/tokenizer.d b/src/ddc/lexer/tokenizer.d
index 605fe68..41cde6e 100644
--- a/src/ddc/lexer/tokenizer.d
+++ b/src/ddc/lexer/tokenizer.d
@@ -2826,11 +2826,13 @@ TEST"
]);
}
+
unittest {
+ version(DisableLexerTest) {
import std.stdio;
import std.conv;
import std.utf;
- import ddx.lexer.LineStream;
+ import dlangui.core.linestream;
string fname = "/home/lve/src/d/ddc/ddclexer/tests/tokenizer_test.d";
writeln("opening file");
try {
@@ -2857,4 +2859,5 @@ unittest {
} catch (Exception e) {
writeln("Exception " ~ e.toString);
}
+ }
}
diff --git a/src/dlangide.d b/src/dlangide.d
index 6139c24..1b56630 100644
--- a/src/dlangide.d
+++ b/src/dlangide.d
@@ -13,6 +13,7 @@ mixin APP_ENTRY_POINT;
/// entry point for dlangui based application
extern (C) int UIAppMain(string[] args) {
+
// embed non-standard resources listed in views/resources.list into executable
embeddedResourceList.addResources(embedResourcesFromList!("resources.list")());
@@ -55,6 +56,49 @@ extern (C) int UIAppMain(string[] args) {
// show window
window.show();
+ //jsonTest();
+
// run message loop
return Platform.instance.enterMessageLoop();
}
+
+
+unittest {
+ void jsonTest() {
+ import dlangui.core.settings;
+ Setting s = new Setting();
+ s["param1_ulong"] = cast(ulong)1543453u;
+ s["param2_long"] = cast(long)-22934;
+ s["param3_double"] = -39.123e-10;
+ s["param4_string"] = "some string value";
+ s["param5_bool_true"] = true;
+ s["param6_bool_false"] = false;
+ s["param7_null"] = new Setting();
+ Setting a = new Setting();
+ a[0] = cast(ulong)1u;
+ a[1] = cast(long)-2;
+ a[2] = 3.3;
+ a[3] = "some string value";
+ a[4] = true;
+ a[5] = false;
+ a[6] = new Setting();
+ Setting mm = new Setting();
+ mm["n"] = cast(ulong)5u;
+ mm["name"] = "test";
+ a[7] = mm;
+ s["param8_array"] = a;
+ Setting m = new Setting();
+ m["aaa"] = "bbb";
+ m["aaa2"] = cast(ulong)5u;
+ m["aaa3"] = false;
+ s["param9_object"] = m;
+ string json = s.toJSON(true);
+ s.save("test_file.json");
+
+ Setting loaded = new Setting();
+ loaded.load("test_file.json");
+ string json2 = loaded.toJSON(true);
+ loaded.save("test_file2.json");
+ }
+
+}
\ No newline at end of file