From 81816eed909966fb881b18b8aa33562e74a10d98 Mon Sep 17 00:00:00 2001 From: Basile Burg Date: Wed, 28 Dec 2016 03:15:07 +0100 Subject: [PATCH] doc --- docs/features_projects.md | 51 +++++++++++++++ docs/features_symbolic_strings.md | 2 +- docs/img/options_dub_build.png | Bin 0 -> 55645 bytes docs/index.md | 8 +++ docs/options_dub_build.md | 19 ++++++ ...ration.md => widgets_ce_project_editor.md} | 0 docs/widgets_dub_project_editor.md | 3 + ...bcommander.md => widgets_gdb_commander.md} | 0 docs/widgets_mini_explorer.md | 3 + docs/widgets_project_groups.md | 1 + src/ce_main.lfm | 8 +-- src/ce_main.pas | 6 +- wiki/wiki.todo.txt | 0 wiki/wiki.txt | 58 ------------------ 14 files changed, 93 insertions(+), 66 deletions(-) create mode 100644 docs/features_projects.md create mode 100644 docs/img/options_dub_build.png create mode 100644 docs/options_dub_build.md rename docs/{widgets_native_project_configuration.md => widgets_ce_project_editor.md} (100%) create mode 100644 docs/widgets_dub_project_editor.md rename docs/{widgets_gdbcommander.md => widgets_gdb_commander.md} (100%) create mode 100644 docs/widgets_mini_explorer.md create mode 100644 docs/widgets_project_groups.md delete mode 100644 wiki/wiki.todo.txt diff --git a/docs/features_projects.md b/docs/features_projects.md new file mode 100644 index 00000000..084307ed --- /dev/null +++ b/docs/features_projects.md @@ -0,0 +1,51 @@ +--- +title: Projects +--- + +### Projects + +Two project formats are supported. +For all the formats a single widget is used to display the source files list and the configurations, the [project inspector](widgets_project_inspector). +Project properties are edited in specific widgets. + +#### DUB + +Coedit handles [DUB](http://code.dlang.org/getting_started) projects. + +DUB [JSON format](http://code.dlang.org/package-format?lang=json) format is fully supported. +DUB [SDL](http://code.dlang.org/package-format?lang=sdl) format is supported in read-only mode. + +The widget used to edit the properties is the [DUB project editor](widgets_dub_project_editor). + +The option editor exposes a [category for DUB](options_dub_build). The options specified in this category are applied each time a project is compiled. + +#### CE format + +The CE (Coedit) format (previously called _native format_) is based on DMD command line interface. +The widget used to edit the properties is the [CE project editor](widgets_ce_project_editor) (the format is detailed in this page). + +#### Menu reference + +- **"New project"**: Closes and creates a new project (either with the native format or a DUB project). A warning may be displayed if the current project is not yet saved. +- **"Open project"**: Opens a project from a dialog. +- **"Open recent"**: Displays the list of the most recently used projects. +- **"Close project"**: Closes the current project. A warning may be displayed if the current project is yet not saved. +- **"Save project"**: Saves the current project. +- **"Save project as"**: Saves the current project from a dialog. +- **"Add project to group": Adds this project to the project group. See also the page dedicated to the [project groups](widgets_project_groups) +- **"Project editor"**: Displays widget used to edit the project properties,in respect with the format (CE or DUB). +- **"Edit project file"**: Opens the project file in a new source editor. When saved from a source editor, a project file is directly reloaded. +- **"View project command line"**: Displays the list of switches and arguments, as they would be passed to the compiler (or the build tool) when compiling. +- **"View in mini explorer"**: Expands the [mini-explorer](widgets_mini_explorer) tree on the folder that contains the project file. +- **"Compile project"**: Compiles the project using the current configuration. +- **"Compile and run project"**: Compiles the project using the current configuration and executes the output when the binary produced is executable. +- **"Compile and run project..."**: Ditto. Before the execution of the binary an input query dialog lets you pass options to the process. +- **"Run project"**: Executes the project output when the binary produced is executable. +- **"Run project..."**: Ditto. Before the execution, an input query dialog lets you specify switches and arguments to the process. + +#### Other build tools + +It's possible to use the [custom tools](widgets_custom_tools) to call other build tools. +For example to call _make_, add a new tool with _make_ as _executable_ and sets the _workingDirectory_ to the folder that contains the makefile. +To specify a special target, such as _release_, add _release_ in the parameters editor. +To get _make_ output in the messages, check _popUsesPipes_ in the tool options. \ No newline at end of file diff --git a/docs/features_symbolic_strings.md b/docs/features_symbolic_strings.md index 2200e8da..fc084737 100644 --- a/docs/features_symbolic_strings.md +++ b/docs/features_symbolic_strings.md @@ -10,7 +10,7 @@ The symbolic strings represent variables defined by the software. They are used - the [native project confirguration widget](widgets_native_project_configuration): many fields accept symbols. - the [custom tools](widgets_custom_tools): parameters, working directory. - the [process input](widgets_process_input): the input field can include a symbol. -- the [GDB commander](widgets_gdbcommander) custom commands. +- the [GDB commander](widgets_gdb_commander) custom commands. Possible symbols, by context, include: diff --git a/docs/img/options_dub_build.png b/docs/img/options_dub_build.png new file mode 100644 index 0000000000000000000000000000000000000000..949c62f795146666156fdf22e02027ee19b64cd9 GIT binary patch literal 55645 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 U>kJ9Ofj{?TAKp%re)j7B12q^(-~a#s literal 0 HcmV?d00001 diff --git a/docs/index.md b/docs/index.md index 99223c88..94fd2b71 100644 --- a/docs/index.md +++ b/docs/index.md @@ -6,6 +6,7 @@ title: index #### Features +* [Projects](features_projects) * [Runnable modules](features_runnables) * [Symbolic strings](features_symbolic_strings) @@ -13,16 +14,23 @@ title: index * [Code metrics](options_code_metrics) * [Compiler paths](options_compilers_paths) +* [DUB build](options_dub_build) * [Messages](widgets_messages) * [Runnable modules](features_runnables) * [Symbol list](widgets_symbol_list) #### Widgets +* [DUB project editor](widgets_dub_project_editor) +* [CE project editor](widgets_ce_project_editor) * [Custom tools](widgets_custom_tools) +* [GDB commander](widgets_gdb_commander) * [Library manager](widgets_library_manager) +* [Mini explorer](widgets_mini_explorer) * [Messages](widgets_messages) * [Options editor](widgets_options_editor) +* [Project groups](widgets_project_groups) * [Process input](widgets_process_input) +* [Project inspector](widgets_project_inspector) * [Search](widgets_search) * [Symbol list](widgets_symbol_list) diff --git a/docs/options_dub_build.md b/docs/options_dub_build.md new file mode 100644 index 00000000..fc2d2923 --- /dev/null +++ b/docs/options_dub_build.md @@ -0,0 +1,19 @@ +--- +title: Options - DUB build +--- + +#### DUB build + +This category exposes the DUB options that are passed to the build tool each time it's used. + +![](img/options_dub_build.png) + +- **combined**: If checked, tries to build the whole project in a single compiler run. +- **compiler**: Selects [which compiler](options_compilers_paths) is used by DUB. +- **dependenciesCheck**: Defines how DUB checks the project dependencies, typically used to avoid too much network operations. +- **forceRebuild**: Forces a full recompilation, even if DUB determines that this would not be necessary. +- **linkMode**: Specifies the way the compiler and linker are invoked. +- **other**: Displays a list that can be filled with more switches. One item per line. +- **parallel**: If checked, tries to build using several CPU. + +See also [the official DUB command line reference](http://code.dlang.org/docs/commandline) for more detailed descriptions. \ No newline at end of file diff --git a/docs/widgets_native_project_configuration.md b/docs/widgets_ce_project_editor.md similarity index 100% rename from docs/widgets_native_project_configuration.md rename to docs/widgets_ce_project_editor.md diff --git a/docs/widgets_dub_project_editor.md b/docs/widgets_dub_project_editor.md new file mode 100644 index 00000000..4b108da8 --- /dev/null +++ b/docs/widgets_dub_project_editor.md @@ -0,0 +1,3 @@ +--- +title: Widgets - DUB project editor +--- diff --git a/docs/widgets_gdbcommander.md b/docs/widgets_gdb_commander.md similarity index 100% rename from docs/widgets_gdbcommander.md rename to docs/widgets_gdb_commander.md diff --git a/docs/widgets_mini_explorer.md b/docs/widgets_mini_explorer.md new file mode 100644 index 00000000..b7fc77a2 --- /dev/null +++ b/docs/widgets_mini_explorer.md @@ -0,0 +1,3 @@ +--- +title: Widgets - process input +--- \ No newline at end of file diff --git a/docs/widgets_project_groups.md b/docs/widgets_project_groups.md new file mode 100644 index 00000000..8d1c8b69 --- /dev/null +++ b/docs/widgets_project_groups.md @@ -0,0 +1 @@ + diff --git a/src/ce_main.lfm b/src/ce_main.lfm index c97dfa6a..756f982f 100644 --- a/src/ce_main.lfm +++ b/src/ce_main.lfm @@ -3275,7 +3275,7 @@ object CEMainForm: TCEMainForm Caption = '-' end object MenuItem41: TMenuItem - Action = actProjOpts + Action = actProjEditor Bitmap.Data = { 36040000424D3604000000000000360000002800000010000000100000000100 2000000000000004000064000000640000000000000000000000FFFFFF000000 @@ -4930,11 +4930,11 @@ object CEMainForm: TCEMainForm OnExecute = actProjCloseExecute OnUpdate = updateProjectBasedAction end - object actProjOpts: TAction + object actProjEditor: TAction Category = 'Project' - Caption = 'Project configuration' + Caption = 'Project editor' ImageIndex = 24 - OnExecute = actProjOptsExecute + OnExecute = actProjEditorExecute OnUpdate = updateProjectBasedAction end object actProjSource: TAction diff --git a/src/ce_main.pas b/src/ce_main.pas index 8dcad344..7f630a05 100644 --- a/src/ce_main.pas +++ b/src/ce_main.pas @@ -126,7 +126,7 @@ type actProjCompileAndRun: TAction; actProjCompAndRunWithArgs: TAction; actProjClose: TAction; - actProjOpts: TAction; + actProjEditor: TAction; actProjOpen: TAction; actProjSave: TAction; actProjSaveAs: TAction; @@ -307,7 +307,7 @@ type procedure actProjOpenExecute(Sender: TObject); procedure actEdPasteExecute(Sender: TObject); procedure actProjCloseExecute(Sender: TObject); - procedure actProjOptsExecute(Sender: TObject); + procedure actProjEditorExecute(Sender: TObject); procedure actEdRedoExecute(Sender: TObject); procedure actFileSaveAsExecute(Sender: TObject); procedure actFileSaveExecute(Sender: TObject); @@ -3331,7 +3331,7 @@ begin end; end; -procedure TCEMainForm.actProjOptsExecute(Sender: TObject); +procedure TCEMainForm.actProjEditorExecute(Sender: TObject); var win: TControl = nil; begin diff --git a/wiki/wiki.todo.txt b/wiki/wiki.todo.txt deleted file mode 100644 index e69de29b..00000000 diff --git a/wiki/wiki.txt b/wiki/wiki.txt index c0f0fc62..522206a5 100644 --- a/wiki/wiki.txt +++ b/wiki/wiki.txt @@ -151,64 +151,6 @@ For discussions, the official D forums [propose a section dedicated to the IDEs] - **"Verify with Dscanner"**: verifies the current file with [Dscanner](https://github.com/Hackerpilot/Dscanner). Results are displayed in the [message widget][lnk_widg_msg]. - **"View in mini explorer"**: expands the [mini-explorer][lnk_widg_miniexpl] tree on the folder that contains the current file. -## Project - -- **"New project"**: closes and creates a new project (either with the native format or a DUB project). Optionally a warning is displayed if the current project is not saved. -- **"Open project"**: opens a project from a dialog. -- **"Open recent"**: displays the list of the most recently used projects. -- **"Close project"**: closes the current project. Optionally a warning is displayed if the current project is not saved. -- **"Save project"**: saves the current project. -- **"Save project as"**: saves the current project from a dialog. -- **"Project configuration"**: displays the project configuration widget. -- **"Edit project file"**: opens the project file in a new editor. When saved from a source editor, a project file is directly reloaded. It means that a particular care must be taken during the edition. Coedit will skip any error in the project file, without warnings. -- **"View project command line"**: displays the list of the switches and their arguments, as passed to DMD before the compilation. Note that under Windows, the content can be copied using the Ctrl + C shortcut on the dialog. -- **"View in mini explorer"**: expands the [mini-explorer][lnk_widg_miniexpl] tree on the folder containing the project file. -- **"Compile project"**: compiles the project using the current configuration. -- **"Compile and run project"**: compiles the project using the current configuration and execute the output if the option _binaryKind_ is set to _executable_. -- **"Compile and run project..."**: Ditto. Before the execution of the output file an input-query dialog lets you pass options to the process. Note that this command was added before the _runOptions_ of the project configuration, which allows to specify the parameters in a more advantageous way. -- **"Run project"**: tries to execute the output if the project output option _binaryKind_ is set to _executable_. -- **"Run project..."**: Ditto. Before the execution of the output file, an input-query dialog lets you specify switches and arguments to the process. - -# Native projects - -Coedit features a native project format completely based on the _DMD_ options. -Almost each DMD switch is represented by a project option. - -The project has common parameters, -- The source files. Either modules, interfaces, static libraries or objects. -- Library aliases: a list of aliases to specify the [_libman_ entries][lnk_widg_lib] used by the project. - -but most of them are specific to each configuration. - -Two widgets are related to the native projects: -- [the project inspector][lnk_widg_prjinsp], allows to manage and maintain the source files list and to open them in an editor. -- [the project configuration widget][lnk_widg_prjconf], allows to manage accurately the configurations, their options -and how to execute the project output when launched from _Coedit_. For more information about the project format, -see the [project configuration][lnk_widg_prjconf] and the [project inspector][lnk_widg_prjinsp] descriptions. - -The file names and directory paths can be relative. -The base directory of a relative path is always the folder where is saved the project. -They can often contain [symbolic strings][lnk_sym] and a path can be itself relative to a symbol. -The project format is cross-platform, path separators are internally converted. - -Here are some more or less complex examples which illustrates the project format: -- the [metad][lnk_metad] meta repository. -- the tools written for Coedit: [cesyms][lnk_cesyms] and [cetodo][lnk_cetodo]. -- [iz](https://github.com/BBasile/iz) and [dbeaengine](https://github.com/BBasile/dbeaengine) - -Even if it's based on the _DMD_ options, it's also possible to compile a CE project using [LDC](https://github.com/ldc-developers/ldc) or -[GDMD](https://github.com/D-Programming-GDC/GDMD/tree/dport). -To do so, the application option _Native project compiler_ must be set accordingly. - -# DUB projects. - -Since the version 2, Coedit also handles [DUB](http://code.dlang.org/getting_started) projects. - -DUB project description must be in [JSON format](http://code.dlang.org/package-format?lang=json), [SDL](http://code.dlang.org/package-format?lang=sdl) in not supported. - -DUB projects are handled exactly as CE projects are. The _project_ menu proposes the same features -however the configuration is done in another widget, see the [dedicated paragraph][lnk_widg_dub]. - # D Completion Daemon integration The **D Completion Daemon** (DCD) is used for the completion, the function call tips, to find the declaration of a symbol and to display the _DDOC_ comment associated to a symbol.