From 1278b1c0e8dbd3b61579968fffae43bc5e86e1cb Mon Sep 17 00:00:00 2001 From: Vadim Lopatin Date: Fri, 6 Feb 2015 16:54:46 +0300 Subject: [PATCH] fixes --- README.md | 15 +++++++------ dlangide.visualdproj | 2 +- src/ddc/lexer/tokenizer.d | 5 ++++- src/dlangide.d | 44 +++++++++++++++++++++++++++++++++++++++ 4 files changed, 56 insertions(+), 10 deletions(-) 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: +![screenshot](http://buggins.github.io/dlangui/screenshots/screenshot-dlangide.png "screenshot") -* 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