cli/docs/services/core.md
Snider d5f7764329 Refactor library improvements (#18)
* refactor: Rearchitect library to use runtime and pkg modules

This commit introduces a major architectural refactoring to simplify the library's structure and improve its maintainability.

Key changes include:

- **Simplified Project Structure:** All top-level facade packages (config, crypt, display, etc.) and the root `core.go` have been removed. All library code now resides directly under the `pkg/` directory.

- **Unified Runtime:** A new `pkg/runtime` module with a `New()` constructor has been introduced. This function initializes and wires together all core services, providing a single, convenient entry point for applications.

- **Updated Entry Points:** The `cmd/core-gui` application and all examples have been updated to use the new `runtime.New()` initialization.

- **Internal Packages:** The `config` and `crypt` packages have been refactored to use an `internal` subdirectory for their implementation. This hides private details and exposes a clean, stable public API.

- **Standardized Error Handling:** A new error handling package has been added at `pkg/e`. The `workspace` and `crypt` services have been updated to use this new standard.

- **Improved Feature Flagging:** A `IsFeatureEnabled` method was added to the `config` service for more robust and centralized feature flag checks.

- **CI and Dependencies:**
  - A GitHub Actions workflow has been added for continuous integration.
  - All Go dependencies have been updated to their latest versions.

- **Documentation:** All documentation has been updated to reflect the new, simplified architecture, and obsolete files have been removed.

* refactor: Rearchitect library to use runtime and pkg modules

This commit introduces a major architectural refactoring to simplify the library's structure and improve its maintainability.

Key changes include:

- **Simplified Project Structure:** All top-level facade packages (config, crypt, display, etc.) and the root `core.go` have been removed. All library code now resides directly under the `pkg/` directory.

- **Unified Runtime:** A new `pkg/runtime` module with a `New()` constructor has been introduced. This function initializes and wires together all core services, providing a single, convenient entry point for applications. The runtime now accepts the Wails application instance, ensuring proper integration with the GUI.

- **Updated Entry Points:** The `cmd/core-gui` application and all examples have been updated to use the new `runtime.New()` constructor and correctly register the runtime as a Wails service.

- **Internal Packages:** The `config` and `crypt` packages have been refactored to use an `internal` subdirectory for their implementation. This hides private details and exposes a clean, stable public API.

- **Standardized Error Handling:** A new error handling package has been added at `pkg/e`. The `workspace` and `crypt` services have been updated to use this new standard.

- **Improved Feature Flagging:** A `IsFeatureEnabled` method was added to the `config` service for more robust and centralized feature flag checks.

- **CI and Dependencies:**
  - A GitHub Actions workflow has been added for continuous integration.
  - All Go dependencies have been updated to their latest versions.

- **Documentation:** All documentation has been updated to reflect the new, simplified architecture, and obsolete files have been removed.

* Feature tdd contract testing (#19)

* feat: Implement TDD contract testing for public API

This commit introduces a Test-Driven Development (TDD) workflow to enforce the public API contract. A new `tdd/` directory has been added to house these tests, which are intended to be the starting point for any new features or bug fixes that affect the public interface.

The "Good, Bad, Ugly" testing methodology has been adopted for these tests:
- `_Good` tests verify the "happy path" with valid inputs.
- `_Bad` tests verify predictable errors with invalid inputs.
- `_Ugly` tests verify edge cases and unexpected inputs to prevent panics.

TDD contract tests have been implemented for the `core` and `config` packages, and the `core.New` function has been hardened to prevent panics from `nil` options.

The `README.md` has been updated to document this new workflow.

* feat: Add TDD contract tests for all services

This commit expands the TDD contract testing framework to cover all services in the application. "Good, Bad, Ugly" tests have been added for the `help`, `i18n`, and `workspace` services.

To facilitate testing, the following refactors were made:
- `help`: Added a `SetDisplay` method to allow for mock injection. Hardened `Show` and `ShowAt` to prevent panics.
- `i18n`: Added a `SetBundle` method to allow for loading test-specific localization files.
- `workspace`: Made the `Config` field public and added a `SetMedium` method to allow for mock injection.

The TDD tests for the `crypt` service have been skipped due to issues with PGP key generation in the test environment.

* CLI code-docgen function (#16)

* Refactor CLI structure: move commands to 'dev' package, add docstring generation command, and update Taskfile for new tasks

Signed-off-by: Snider <snider@lt.hn>

* Add CodeRabbit PR review badge to README

Signed-off-by: Snider <snider@lt.hn>

---------

Signed-off-by: Snider <snider@lt.hn>

---------

Signed-off-by: Snider <snider@lt.hn>
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>

* Update pkg/runtime/runtime.go

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* feat: Rearchitect library and add automated documentation

This commit introduces a major architectural refactoring of the Core library and adds a new, automated documentation system.

**Architectural Changes:**

*   **Unified Runtime:** A new `pkg/runtime` module provides a single `runtime.New()` constructor that initializes and manages all core services. This simplifies application startup and improves maintainability.
*   **Wails Integration:** The `Runtime` is now correctly integrated with the Wails application lifecycle, accepting the `*application.App` instance and being registered as a Wails service.
*   **Simplified Project Structure:** All top-level facade packages have been removed, and library code is now consolidated under the `pkg/` directory.
*   **Internal Packages:** The `config` and `crypt` services now use an `internal` package to enforce a clean separation between public API and implementation details.
*   **Standardized Error Handling:** The `pkg/e` package has been introduced and integrated into the `workspace` and `crypt` services for consistent error handling.
*   **Graceful Shutdown:** The shutdown process has been fixed to ensure shutdown signals are correctly propagated to all services.

**Documentation:**

*   **Automated Doc Generation:** A new `docgen` command has been added to `cmd/core` to automatically generate Markdown documentation from the service source code.
*   **MkDocs Site:** A new MkDocs Material documentation site has been configured in the `/docs` directory.
*   **Deployment Workflow:** A new GitHub Actions workflow (`.github/workflows/docs.yml`) automatically builds and deploys the documentation site to GitHub Pages.

**Quality Improvements:**

*   **Hermetic Tests:** The config service tests have been updated to be fully hermetic, running in a temporary environment to avoid side effects.
*   **Panic Fix:** A panic in the config service's `Set` method has been fixed, and "Good, Bad, Ugly" tests have been added to verify the fix.
*   **CI/CD:** The CI workflow has been updated to use the latest GitHub Actions.
*   **Code Quality:** Numerous smaller fixes and improvements have been made based on CI feedback.

---------

Signed-off-by: Snider <snider@lt.hn>
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-11-02 16:17:25 +00:00

139 KiB

title
core

Service: core

Types

type ActionDisplayOpenWindow

type ActionDisplayOpenWindow      0  *ast.StructType {
     1  .  Struct: -
     2  .  Fields: *ast.FieldList {
     3  .  .  Opening: -
     4  .  .  List: []*ast.Field (len = 2) {
     5  .  .  .  0: *ast.Field {
     6  .  .  .  .  Doc: nil
     7  .  .  .  .  Names: []*ast.Ident (len = 1) {
     8  .  .  .  .  .  0: *ast.Ident {
     9  .  .  .  .  .  .  NamePos: -
    10  .  .  .  .  .  .  Name: "Name"
    11  .  .  .  .  .  .  Obj: *ast.Object {
    12  .  .  .  .  .  .  .  Kind: var
    13  .  .  .  .  .  .  .  Name: "Name"
    14  .  .  .  .  .  .  .  Decl: *(obj @ 5)
    15  .  .  .  .  .  .  .  Data: nil
    16  .  .  .  .  .  .  .  Type: nil
    17  .  .  .  .  .  .  }
    18  .  .  .  .  .  }
    19  .  .  .  .  }
    20  .  .  .  .  Type: *ast.Ident {
    21  .  .  .  .  .  NamePos: -
    22  .  .  .  .  .  Name: "string"
    23  .  .  .  .  .  Obj: nil
    24  .  .  .  .  }
    25  .  .  .  .  Tag: nil
    26  .  .  .  .  Comment: nil
    27  .  .  .  }
    28  .  .  .  1: *ast.Field {
    29  .  .  .  .  Doc: nil
    30  .  .  .  .  Names: []*ast.Ident (len = 1) {
    31  .  .  .  .  .  0: *ast.Ident {
    32  .  .  .  .  .  .  NamePos: -
    33  .  .  .  .  .  .  Name: "Options"
    34  .  .  .  .  .  .  Obj: *ast.Object {
    35  .  .  .  .  .  .  .  Kind: var
    36  .  .  .  .  .  .  .  Name: "Options"
    37  .  .  .  .  .  .  .  Decl: *(obj @ 28)
    38  .  .  .  .  .  .  .  Data: nil
    39  .  .  .  .  .  .  .  Type: nil
    40  .  .  .  .  .  .  }
    41  .  .  .  .  .  }
    42  .  .  .  .  }
    43  .  .  .  .  Type: *ast.SelectorExpr {
    44  .  .  .  .  .  X: *ast.Ident {
    45  .  .  .  .  .  .  NamePos: -
    46  .  .  .  .  .  .  Name: "application"
    47  .  .  .  .  .  .  Obj: nil
    48  .  .  .  .  .  }
    49  .  .  .  .  .  Sel: *ast.Ident {
    50  .  .  .  .  .  .  NamePos: -
    51  .  .  .  .  .  .  Name: "WebviewWindowOptions"
    52  .  .  .  .  .  .  Obj: nil
    53  .  .  .  .  .  }
    54  .  .  .  .  }
    55  .  .  .  .  Tag: nil
    56  .  .  .  .  Comment: nil
    57  .  .  .  }
    58  .  .  }
    59  .  .  Closing: -
    60  .  }
    61  .  Incomplete: false
    62  }

ActionDisplayOpenWindow is a structured message for requesting a new window.

type ActionServiceShutdown

type ActionServiceShutdown      0  *ast.StructType {
     1  .  Struct: -
     2  .  Fields: *ast.FieldList {
     3  .  .  Opening: -
     4  .  .  List: nil
     5  .  .  Closing: -
     6  .  }
     7  .  Incomplete: false
     8  }

type ActionServiceStartup

type ActionServiceStartup      0  *ast.StructType {
     1  .  Struct: -
     2  .  Fields: *ast.FieldList {
     3  .  .  Opening: -
     4  .  .  List: nil
     5  .  .  Closing: -
     6  .  }
     7  .  Incomplete: false
     8  }

type Config

type Config      0  *ast.InterfaceType {
     1  .  Interface: -
     2  .  Methods: *ast.FieldList {
     3  .  .  Opening: -
     4  .  .  List: []*ast.Field (len = 2) {
     5  .  .  .  0: *ast.Field {
     6  .  .  .  .  Doc: nil
     7  .  .  .  .  Names: []*ast.Ident (len = 1) {
     8  .  .  .  .  .  0: *ast.Ident {
     9  .  .  .  .  .  .  NamePos: -
    10  .  .  .  .  .  .  Name: "Get"
    11  .  .  .  .  .  .  Obj: *ast.Object {
    12  .  .  .  .  .  .  .  Kind: func
    13  .  .  .  .  .  .  .  Name: "Get"
    14  .  .  .  .  .  .  .  Decl: *(obj @ 5)
    15  .  .  .  .  .  .  .  Data: nil
    16  .  .  .  .  .  .  .  Type: nil
    17  .  .  .  .  .  .  }
    18  .  .  .  .  .  }
    19  .  .  .  .  }
    20  .  .  .  .  Type: *ast.FuncType {
    21  .  .  .  .  .  Func: -
    22  .  .  .  .  .  TypeParams: nil
    23  .  .  .  .  .  Params: *ast.FieldList {
    24  .  .  .  .  .  .  Opening: -
    25  .  .  .  .  .  .  List: []*ast.Field (len = 2) {
    26  .  .  .  .  .  .  .  0: *ast.Field {
    27  .  .  .  .  .  .  .  .  Doc: nil
    28  .  .  .  .  .  .  .  .  Names: []*ast.Ident (len = 1) {
    29  .  .  .  .  .  .  .  .  .  0: *ast.Ident {
    30  .  .  .  .  .  .  .  .  .  .  NamePos: -
    31  .  .  .  .  .  .  .  .  .  .  Name: "key"
    32  .  .  .  .  .  .  .  .  .  .  Obj: *ast.Object {
    33  .  .  .  .  .  .  .  .  .  .  .  Kind: var
    34  .  .  .  .  .  .  .  .  .  .  .  Name: "key"
    35  .  .  .  .  .  .  .  .  .  .  .  Decl: *(obj @ 26)
    36  .  .  .  .  .  .  .  .  .  .  .  Data: nil
    37  .  .  .  .  .  .  .  .  .  .  .  Type: nil
    38  .  .  .  .  .  .  .  .  .  .  }
    39  .  .  .  .  .  .  .  .  .  }
    40  .  .  .  .  .  .  .  .  }
    41  .  .  .  .  .  .  .  .  Type: *ast.Ident {
    42  .  .  .  .  .  .  .  .  .  NamePos: -
    43  .  .  .  .  .  .  .  .  .  Name: "string"
    44  .  .  .  .  .  .  .  .  .  Obj: nil
    45  .  .  .  .  .  .  .  .  }
    46  .  .  .  .  .  .  .  .  Tag: nil
    47  .  .  .  .  .  .  .  .  Comment: nil
    48  .  .  .  .  .  .  .  }
    49  .  .  .  .  .  .  .  1: *ast.Field {
    50  .  .  .  .  .  .  .  .  Doc: nil
    51  .  .  .  .  .  .  .  .  Names: []*ast.Ident (len = 1) {
    52  .  .  .  .  .  .  .  .  .  0: *ast.Ident {
    53  .  .  .  .  .  .  .  .  .  .  NamePos: -
    54  .  .  .  .  .  .  .  .  .  .  Name: "out"
    55  .  .  .  .  .  .  .  .  .  .  Obj: *ast.Object {
    56  .  .  .  .  .  .  .  .  .  .  .  Kind: var
    57  .  .  .  .  .  .  .  .  .  .  .  Name: "out"
    58  .  .  .  .  .  .  .  .  .  .  .  Decl: *(obj @ 49)
    59  .  .  .  .  .  .  .  .  .  .  .  Data: nil
    60  .  .  .  .  .  .  .  .  .  .  .  Type: nil
    61  .  .  .  .  .  .  .  .  .  .  }
    62  .  .  .  .  .  .  .  .  .  }
    63  .  .  .  .  .  .  .  .  }
    64  .  .  .  .  .  .  .  .  Type: *ast.Ident {
    65  .  .  .  .  .  .  .  .  .  NamePos: -
    66  .  .  .  .  .  .  .  .  .  Name: "any"
    67  .  .  .  .  .  .  .  .  .  Obj: nil
    68  .  .  .  .  .  .  .  .  }
    69  .  .  .  .  .  .  .  .  Tag: nil
    70  .  .  .  .  .  .  .  .  Comment: nil
    71  .  .  .  .  .  .  .  }
    72  .  .  .  .  .  .  }
    73  .  .  .  .  .  .  Closing: -
    74  .  .  .  .  .  }
    75  .  .  .  .  .  Results: *ast.FieldList {
    76  .  .  .  .  .  .  Opening: -
    77  .  .  .  .  .  .  List: []*ast.Field (len = 1) {
    78  .  .  .  .  .  .  .  0: *ast.Field {
    79  .  .  .  .  .  .  .  .  Doc: nil
    80  .  .  .  .  .  .  .  .  Names: nil
    81  .  .  .  .  .  .  .  .  Type: *ast.Ident {
    82  .  .  .  .  .  .  .  .  .  NamePos: -
    83  .  .  .  .  .  .  .  .  .  Name: "error"
    84  .  .  .  .  .  .  .  .  .  Obj: nil
    85  .  .  .  .  .  .  .  .  }
    86  .  .  .  .  .  .  .  .  Tag: nil
    87  .  .  .  .  .  .  .  .  Comment: nil
    88  .  .  .  .  .  .  .  }
    89  .  .  .  .  .  .  }
    90  .  .  .  .  .  .  Closing: -
    91  .  .  .  .  .  }
    92  .  .  .  .  }
    93  .  .  .  .  Tag: nil
    94  .  .  .  .  Comment: nil
    95  .  .  .  }
    96  .  .  .  1: *ast.Field {
    97  .  .  .  .  Doc: nil
    98  .  .  .  .  Names: []*ast.Ident (len = 1) {
    99  .  .  .  .  .  0: *ast.Ident {
   100  .  .  .  .  .  .  NamePos: -
   101  .  .  .  .  .  .  Name: "Set"
   102  .  .  .  .  .  .  Obj: *ast.Object {
   103  .  .  .  .  .  .  .  Kind: func
   104  .  .  .  .  .  .  .  Name: "Set"
   105  .  .  .  .  .  .  .  Decl: *(obj @ 96)
   106  .  .  .  .  .  .  .  Data: nil
   107  .  .  .  .  .  .  .  Type: nil
   108  .  .  .  .  .  .  }
   109  .  .  .  .  .  }
   110  .  .  .  .  }
   111  .  .  .  .  Type: *ast.FuncType {
   112  .  .  .  .  .  Func: -
   113  .  .  .  .  .  TypeParams: nil
   114  .  .  .  .  .  Params: *ast.FieldList {
   115  .  .  .  .  .  .  Opening: -
   116  .  .  .  .  .  .  List: []*ast.Field (len = 2) {
   117  .  .  .  .  .  .  .  0: *ast.Field {
   118  .  .  .  .  .  .  .  .  Doc: nil
   119  .  .  .  .  .  .  .  .  Names: []*ast.Ident (len = 1) {
   120  .  .  .  .  .  .  .  .  .  0: *ast.Ident {
   121  .  .  .  .  .  .  .  .  .  .  NamePos: -
   122  .  .  .  .  .  .  .  .  .  .  Name: "key"
   123  .  .  .  .  .  .  .  .  .  .  Obj: *ast.Object {
   124  .  .  .  .  .  .  .  .  .  .  .  Kind: var
   125  .  .  .  .  .  .  .  .  .  .  .  Name: "key"
   126  .  .  .  .  .  .  .  .  .  .  .  Decl: *(obj @ 117)
   127  .  .  .  .  .  .  .  .  .  .  .  Data: nil
   128  .  .  .  .  .  .  .  .  .  .  .  Type: nil
   129  .  .  .  .  .  .  .  .  .  .  }
   130  .  .  .  .  .  .  .  .  .  }
   131  .  .  .  .  .  .  .  .  }
   132  .  .  .  .  .  .  .  .  Type: *ast.Ident {
   133  .  .  .  .  .  .  .  .  .  NamePos: -
   134  .  .  .  .  .  .  .  .  .  Name: "string"
   135  .  .  .  .  .  .  .  .  .  Obj: nil
   136  .  .  .  .  .  .  .  .  }
   137  .  .  .  .  .  .  .  .  Tag: nil
   138  .  .  .  .  .  .  .  .  Comment: nil
   139  .  .  .  .  .  .  .  }
   140  .  .  .  .  .  .  .  1: *ast.Field {
   141  .  .  .  .  .  .  .  .  Doc: nil
   142  .  .  .  .  .  .  .  .  Names: []*ast.Ident (len = 1) {
   143  .  .  .  .  .  .  .  .  .  0: *ast.Ident {
   144  .  .  .  .  .  .  .  .  .  .  NamePos: -
   145  .  .  .  .  .  .  .  .  .  .  Name: "v"
   146  .  .  .  .  .  .  .  .  .  .  Obj: *ast.Object {
   147  .  .  .  .  .  .  .  .  .  .  .  Kind: var
   148  .  .  .  .  .  .  .  .  .  .  .  Name: "v"
   149  .  .  .  .  .  .  .  .  .  .  .  Decl: *(obj @ 140)
   150  .  .  .  .  .  .  .  .  .  .  .  Data: nil
   151  .  .  .  .  .  .  .  .  .  .  .  Type: nil
   152  .  .  .  .  .  .  .  .  .  .  }
   153  .  .  .  .  .  .  .  .  .  }
   154  .  .  .  .  .  .  .  .  }
   155  .  .  .  .  .  .  .  .  Type: *ast.Ident {
   156  .  .  .  .  .  .  .  .  .  NamePos: -
   157  .  .  .  .  .  .  .  .  .  Name: "any"
   158  .  .  .  .  .  .  .  .  .  Obj: nil
   159  .  .  .  .  .  .  .  .  }
   160  .  .  .  .  .  .  .  .  Tag: nil
   161  .  .  .  .  .  .  .  .  Comment: nil
   162  .  .  .  .  .  .  .  }
   163  .  .  .  .  .  .  }
   164  .  .  .  .  .  .  Closing: -
   165  .  .  .  .  .  }
   166  .  .  .  .  .  Results: *ast.FieldList {
   167  .  .  .  .  .  .  Opening: -
   168  .  .  .  .  .  .  List: []*ast.Field (len = 1) {
   169  .  .  .  .  .  .  .  0: *ast.Field {
   170  .  .  .  .  .  .  .  .  Doc: nil
   171  .  .  .  .  .  .  .  .  Names: nil
   172  .  .  .  .  .  .  .  .  Type: *ast.Ident {
   173  .  .  .  .  .  .  .  .  .  NamePos: -
   174  .  .  .  .  .  .  .  .  .  Name: "error"
   175  .  .  .  .  .  .  .  .  .  Obj: nil
   176  .  .  .  .  .  .  .  .  }
   177  .  .  .  .  .  .  .  .  Tag: nil
   178  .  .  .  .  .  .  .  .  Comment: nil
   179  .  .  .  .  .  .  .  }
   180  .  .  .  .  .  .  }
   181  .  .  .  .  .  .  Closing: -
   182  .  .  .  .  .  }
   183  .  .  .  .  }
   184  .  .  .  .  Tag: nil
   185  .  .  .  .  Comment: nil
   186  .  .  .  }
   187  .  .  }
   188  .  .  Closing: -
   189  .  }
   190  .  Incomplete: false
   191  }

Config provides access to application configuration.

type Contract

type Contract      0  *ast.StructType {
     1  .  Struct: -
     2  .  Fields: *ast.FieldList {
     3  .  .  Opening: -
     4  .  .  List: []*ast.Field (len = 2) {
     5  .  .  .  0: *ast.Field {
     6  .  .  .  .  Doc: nil
     7  .  .  .  .  Names: []*ast.Ident (len = 1) {
     8  .  .  .  .  .  0: *ast.Ident {
     9  .  .  .  .  .  .  NamePos: -
    10  .  .  .  .  .  .  Name: "DontPanic"
    11  .  .  .  .  .  .  Obj: *ast.Object {
    12  .  .  .  .  .  .  .  Kind: var
    13  .  .  .  .  .  .  .  Name: "DontPanic"
    14  .  .  .  .  .  .  .  Decl: *(obj @ 5)
    15  .  .  .  .  .  .  .  Data: nil
    16  .  .  .  .  .  .  .  Type: nil
    17  .  .  .  .  .  .  }
    18  .  .  .  .  .  }
    19  .  .  .  .  }
    20  .  .  .  .  Type: *ast.Ident {
    21  .  .  .  .  .  NamePos: -
    22  .  .  .  .  .  Name: "bool"
    23  .  .  .  .  .  Obj: nil
    24  .  .  .  .  }
    25  .  .  .  .  Tag: nil
    26  .  .  .  .  Comment: nil
    27  .  .  .  }
    28  .  .  .  1: *ast.Field {
    29  .  .  .  .  Doc: nil
    30  .  .  .  .  Names: []*ast.Ident (len = 1) {
    31  .  .  .  .  .  0: *ast.Ident {
    32  .  .  .  .  .  .  NamePos: -
    33  .  .  .  .  .  .  Name: "DisableLogging"
    34  .  .  .  .  .  .  Obj: *ast.Object {
    35  .  .  .  .  .  .  .  Kind: var
    36  .  .  .  .  .  .  .  Name: "DisableLogging"
    37  .  .  .  .  .  .  .  Decl: *(obj @ 28)
    38  .  .  .  .  .  .  .  Data: nil
    39  .  .  .  .  .  .  .  Type: nil
    40  .  .  .  .  .  .  }
    41  .  .  .  .  .  }
    42  .  .  .  .  }
    43  .  .  .  .  Type: *ast.Ident {
    44  .  .  .  .  .  NamePos: -
    45  .  .  .  .  .  Name: "bool"
    46  .  .  .  .  .  Obj: nil
    47  .  .  .  .  }
    48  .  .  .  .  Tag: nil
    49  .  .  .  .  Comment: nil
    50  .  .  .  }
    51  .  .  }
    52  .  .  Closing: -
    53  .  }
    54  .  Incomplete: false
    55  }

type Core

type Core      0  *ast.StructType {
     1  .  Struct: -
     2  .  Fields: *ast.FieldList {
     3  .  .  Opening: -
     4  .  .  List: []*ast.Field (len = 10) {
     5  .  .  .  0: *ast.Field {
     6  .  .  .  .  Doc: nil
     7  .  .  .  .  Names: []*ast.Ident (len = 1) {
     8  .  .  .  .  .  0: *ast.Ident {
     9  .  .  .  .  .  .  NamePos: -
    10  .  .  .  .  .  .  Name: "once"
    11  .  .  .  .  .  .  Obj: *ast.Object {
    12  .  .  .  .  .  .  .  Kind: var
    13  .  .  .  .  .  .  .  Name: "once"
    14  .  .  .  .  .  .  .  Decl: *(obj @ 5)
    15  .  .  .  .  .  .  .  Data: nil
    16  .  .  .  .  .  .  .  Type: nil
    17  .  .  .  .  .  .  }
    18  .  .  .  .  .  }
    19  .  .  .  .  }
    20  .  .  .  .  Type: *ast.SelectorExpr {
    21  .  .  .  .  .  X: *ast.Ident {
    22  .  .  .  .  .  .  NamePos: -
    23  .  .  .  .  .  .  Name: "sync"
    24  .  .  .  .  .  .  Obj: nil
    25  .  .  .  .  .  }
    26  .  .  .  .  .  Sel: *ast.Ident {
    27  .  .  .  .  .  .  NamePos: -
    28  .  .  .  .  .  .  Name: "Once"
    29  .  .  .  .  .  .  Obj: nil
    30  .  .  .  .  .  }
    31  .  .  .  .  }
    32  .  .  .  .  Tag: nil
    33  .  .  .  .  Comment: nil
    34  .  .  .  }
    35  .  .  .  1: *ast.Field {
    36  .  .  .  .  Doc: nil
    37  .  .  .  .  Names: []*ast.Ident (len = 1) {
    38  .  .  .  .  .  0: *ast.Ident {
    39  .  .  .  .  .  .  NamePos: -
    40  .  .  .  .  .  .  Name: "initErr"
    41  .  .  .  .  .  .  Obj: *ast.Object {
    42  .  .  .  .  .  .  .  Kind: var
    43  .  .  .  .  .  .  .  Name: "initErr"
    44  .  .  .  .  .  .  .  Decl: *(obj @ 35)
    45  .  .  .  .  .  .  .  Data: nil
    46  .  .  .  .  .  .  .  Type: nil
    47  .  .  .  .  .  .  }
    48  .  .  .  .  .  }
    49  .  .  .  .  }
    50  .  .  .  .  Type: *ast.Ident {
    51  .  .  .  .  .  NamePos: -
    52  .  .  .  .  .  Name: "error"
    53  .  .  .  .  .  Obj: nil
    54  .  .  .  .  }
    55  .  .  .  .  Tag: nil
    56  .  .  .  .  Comment: nil
    57  .  .  .  }
    58  .  .  .  2: *ast.Field {
    59  .  .  .  .  Doc: nil
    60  .  .  .  .  Names: []*ast.Ident (len = 1) {
    61  .  .  .  .  .  0: *ast.Ident {
    62  .  .  .  .  .  .  NamePos: -
    63  .  .  .  .  .  .  Name: "App"
    64  .  .  .  .  .  .  Obj: *ast.Object {
    65  .  .  .  .  .  .  .  Kind: var
    66  .  .  .  .  .  .  .  Name: "App"
    67  .  .  .  .  .  .  .  Decl: *(obj @ 58)
    68  .  .  .  .  .  .  .  Data: nil
    69  .  .  .  .  .  .  .  Type: nil
    70  .  .  .  .  .  .  }
    71  .  .  .  .  .  }
    72  .  .  .  .  }
    73  .  .  .  .  Type: *ast.StarExpr {
    74  .  .  .  .  .  Star: -
    75  .  .  .  .  .  X: *ast.SelectorExpr {
    76  .  .  .  .  .  .  X: *ast.Ident {
    77  .  .  .  .  .  .  .  NamePos: -
    78  .  .  .  .  .  .  .  Name: "application"
    79  .  .  .  .  .  .  .  Obj: nil
    80  .  .  .  .  .  .  }
    81  .  .  .  .  .  .  Sel: *ast.Ident {
    82  .  .  .  .  .  .  .  NamePos: -
    83  .  .  .  .  .  .  .  Name: "App"
    84  .  .  .  .  .  .  .  Obj: nil
    85  .  .  .  .  .  .  }
    86  .  .  .  .  .  }
    87  .  .  .  .  }
    88  .  .  .  .  Tag: nil
    89  .  .  .  .  Comment: nil
    90  .  .  .  }
    91  .  .  .  3: *ast.Field {
    92  .  .  .  .  Doc: nil
    93  .  .  .  .  Names: []*ast.Ident (len = 1) {
    94  .  .  .  .  .  0: *ast.Ident {
    95  .  .  .  .  .  .  NamePos: -
    96  .  .  .  .  .  .  Name: "assets"
    97  .  .  .  .  .  .  Obj: *ast.Object {
    98  .  .  .  .  .  .  .  Kind: var
    99  .  .  .  .  .  .  .  Name: "assets"
   100  .  .  .  .  .  .  .  Decl: *(obj @ 91)
   101  .  .  .  .  .  .  .  Data: nil
   102  .  .  .  .  .  .  .  Type: nil
   103  .  .  .  .  .  .  }
   104  .  .  .  .  .  }
   105  .  .  .  .  }
   106  .  .  .  .  Type: *ast.SelectorExpr {
   107  .  .  .  .  .  X: *ast.Ident {
   108  .  .  .  .  .  .  NamePos: -
   109  .  .  .  .  .  .  Name: "embed"
   110  .  .  .  .  .  .  Obj: nil
   111  .  .  .  .  .  }
   112  .  .  .  .  .  Sel: *ast.Ident {
   113  .  .  .  .  .  .  NamePos: -
   114  .  .  .  .  .  .  Name: "FS"
   115  .  .  .  .  .  .  Obj: nil
   116  .  .  .  .  .  }
   117  .  .  .  .  }
   118  .  .  .  .  Tag: nil
   119  .  .  .  .  Comment: nil
   120  .  .  .  }
   121  .  .  .  4: *ast.Field {
   122  .  .  .  .  Doc: nil
   123  .  .  .  .  Names: []*ast.Ident (len = 1) {
   124  .  .  .  .  .  0: *ast.Ident {
   125  .  .  .  .  .  .  NamePos: -
   126  .  .  .  .  .  .  Name: "serviceLock"
   127  .  .  .  .  .  .  Obj: *ast.Object {
   128  .  .  .  .  .  .  .  Kind: var
   129  .  .  .  .  .  .  .  Name: "serviceLock"
   130  .  .  .  .  .  .  .  Decl: *(obj @ 121)
   131  .  .  .  .  .  .  .  Data: nil
   132  .  .  .  .  .  .  .  Type: nil
   133  .  .  .  .  .  .  }
   134  .  .  .  .  .  }
   135  .  .  .  .  }
   136  .  .  .  .  Type: *ast.Ident {
   137  .  .  .  .  .  NamePos: -
   138  .  .  .  .  .  Name: "bool"
   139  .  .  .  .  .  Obj: nil
   140  .  .  .  .  }
   141  .  .  .  .  Tag: nil
   142  .  .  .  .  Comment: nil
   143  .  .  .  }
   144  .  .  .  5: *ast.Field {
   145  .  .  .  .  Doc: nil
   146  .  .  .  .  Names: []*ast.Ident (len = 1) {
   147  .  .  .  .  .  0: *ast.Ident {
   148  .  .  .  .  .  .  NamePos: -
   149  .  .  .  .  .  .  Name: "ipcMu"
   150  .  .  .  .  .  .  Obj: *ast.Object {
   151  .  .  .  .  .  .  .  Kind: var
   152  .  .  .  .  .  .  .  Name: "ipcMu"
   153  .  .  .  .  .  .  .  Decl: *(obj @ 144)
   154  .  .  .  .  .  .  .  Data: nil
   155  .  .  .  .  .  .  .  Type: nil
   156  .  .  .  .  .  .  }
   157  .  .  .  .  .  }
   158  .  .  .  .  }
   159  .  .  .  .  Type: *ast.SelectorExpr {
   160  .  .  .  .  .  X: *ast.Ident {
   161  .  .  .  .  .  .  NamePos: -
   162  .  .  .  .  .  .  Name: "sync"
   163  .  .  .  .  .  .  Obj: nil
   164  .  .  .  .  .  }
   165  .  .  .  .  .  Sel: *ast.Ident {
   166  .  .  .  .  .  .  NamePos: -
   167  .  .  .  .  .  .  Name: "RWMutex"
   168  .  .  .  .  .  .  Obj: nil
   169  .  .  .  .  .  }
   170  .  .  .  .  }
   171  .  .  .  .  Tag: nil
   172  .  .  .  .  Comment: nil
   173  .  .  .  }
   174  .  .  .  6: *ast.Field {
   175  .  .  .  .  Doc: nil
   176  .  .  .  .  Names: []*ast.Ident (len = 1) {
   177  .  .  .  .  .  0: *ast.Ident {
   178  .  .  .  .  .  .  NamePos: -
   179  .  .  .  .  .  .  Name: "ipcHandlers"
   180  .  .  .  .  .  .  Obj: *ast.Object {
   181  .  .  .  .  .  .  .  Kind: var
   182  .  .  .  .  .  .  .  Name: "ipcHandlers"
   183  .  .  .  .  .  .  .  Decl: *(obj @ 174)
   184  .  .  .  .  .  .  .  Data: nil
   185  .  .  .  .  .  .  .  Type: nil
   186  .  .  .  .  .  .  }
   187  .  .  .  .  .  }
   188  .  .  .  .  }
   189  .  .  .  .  Type: *ast.ArrayType {
   190  .  .  .  .  .  Lbrack: -
   191  .  .  .  .  .  Len: nil
   192  .  .  .  .  .  Elt: *ast.FuncType {
   193  .  .  .  .  .  .  Func: -
   194  .  .  .  .  .  .  TypeParams: nil
   195  .  .  .  .  .  .  Params: *ast.FieldList {
   196  .  .  .  .  .  .  .  Opening: -
   197  .  .  .  .  .  .  .  List: []*ast.Field (len = 2) {
   198  .  .  .  .  .  .  .  .  0: *ast.Field {
   199  .  .  .  .  .  .  .  .  .  Doc: nil
   200  .  .  .  .  .  .  .  .  .  Names: nil
   201  .  .  .  .  .  .  .  .  .  Type: *ast.StarExpr {
   202  .  .  .  .  .  .  .  .  .  .  Star: -
   203  .  .  .  .  .  .  .  .  .  .  X: *ast.Ident {
   204  .  .  .  .  .  .  .  .  .  .  .  NamePos: -
   205  .  .  .  .  .  .  .  .  .  .  .  Name: "Core"
   206  .  .  .  .  .  .  .  .  .  .  .  Obj: *ast.Object {
   207  .  .  .  .  .  .  .  .  .  .  .  .  Kind: type
   208  .  .  .  .  .  .  .  .  .  .  .  .  Name: "Core"
   209  .  .  .  .  .  .  .  .  .  .  .  .  Decl: *ast.TypeSpec {
   210  .  .  .  .  .  .  .  .  .  .  .  .  .  Doc: nil
   211  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: *ast.Ident {
   212  .  .  .  .  .  .  .  .  .  .  .  .  .  .  NamePos: -
   213  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "Core"
   214  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Obj: *(obj @ 206)
   215  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   216  .  .  .  .  .  .  .  .  .  .  .  .  .  TypeParams: nil
   217  .  .  .  .  .  .  .  .  .  .  .  .  .  Assign: -
   218  .  .  .  .  .  .  .  .  .  .  .  .  .  Type: *(obj @ 0)
   219  .  .  .  .  .  .  .  .  .  .  .  .  .  Comment: nil
   220  .  .  .  .  .  .  .  .  .  .  .  .  }
   221  .  .  .  .  .  .  .  .  .  .  .  .  Data: nil
   222  .  .  .  .  .  .  .  .  .  .  .  .  Type: nil
   223  .  .  .  .  .  .  .  .  .  .  .  }
   224  .  .  .  .  .  .  .  .  .  .  }
   225  .  .  .  .  .  .  .  .  .  }
   226  .  .  .  .  .  .  .  .  .  Tag: nil
   227  .  .  .  .  .  .  .  .  .  Comment: nil
   228  .  .  .  .  .  .  .  .  }
   229  .  .  .  .  .  .  .  .  1: *ast.Field {
   230  .  .  .  .  .  .  .  .  .  Doc: nil
   231  .  .  .  .  .  .  .  .  .  Names: nil
   232  .  .  .  .  .  .  .  .  .  Type: *ast.Ident {
   233  .  .  .  .  .  .  .  .  .  .  NamePos: -
   234  .  .  .  .  .  .  .  .  .  .  Name: "Message"
   235  .  .  .  .  .  .  .  .  .  .  Obj: *ast.Object {
   236  .  .  .  .  .  .  .  .  .  .  .  Kind: type
   237  .  .  .  .  .  .  .  .  .  .  .  Name: "Message"
   238  .  .  .  .  .  .  .  .  .  .  .  Decl: *ast.TypeSpec {
   239  .  .  .  .  .  .  .  .  .  .  .  .  Doc: nil
   240  .  .  .  .  .  .  .  .  .  .  .  .  Name: *ast.Ident {
   241  .  .  .  .  .  .  .  .  .  .  .  .  .  NamePos: -
   242  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "Message"
   243  .  .  .  .  .  .  .  .  .  .  .  .  .  Obj: *(obj @ 235)
   244  .  .  .  .  .  .  .  .  .  .  .  .  }
   245  .  .  .  .  .  .  .  .  .  .  .  .  TypeParams: nil
   246  .  .  .  .  .  .  .  .  .  .  .  .  Assign: -
   247  .  .  .  .  .  .  .  .  .  .  .  .  Type: *ast.InterfaceType {
   248  .  .  .  .  .  .  .  .  .  .  .  .  .  Interface: -
   249  .  .  .  .  .  .  .  .  .  .  .  .  .  Methods: *ast.FieldList {
   250  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Opening: -
   251  .  .  .  .  .  .  .  .  .  .  .  .  .  .  List: nil
   252  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Closing: -
   253  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   254  .  .  .  .  .  .  .  .  .  .  .  .  .  Incomplete: false
   255  .  .  .  .  .  .  .  .  .  .  .  .  }
   256  .  .  .  .  .  .  .  .  .  .  .  .  Comment: nil
   257  .  .  .  .  .  .  .  .  .  .  .  }
   258  .  .  .  .  .  .  .  .  .  .  .  Data: nil
   259  .  .  .  .  .  .  .  .  .  .  .  Type: nil
   260  .  .  .  .  .  .  .  .  .  .  }
   261  .  .  .  .  .  .  .  .  .  }
   262  .  .  .  .  .  .  .  .  .  Tag: nil
   263  .  .  .  .  .  .  .  .  .  Comment: nil
   264  .  .  .  .  .  .  .  .  }
   265  .  .  .  .  .  .  .  }
   266  .  .  .  .  .  .  .  Closing: -
   267  .  .  .  .  .  .  }
   268  .  .  .  .  .  .  Results: *ast.FieldList {
   269  .  .  .  .  .  .  .  Opening: -
   270  .  .  .  .  .  .  .  List: []*ast.Field (len = 1) {
   271  .  .  .  .  .  .  .  .  0: *ast.Field {
   272  .  .  .  .  .  .  .  .  .  Doc: nil
   273  .  .  .  .  .  .  .  .  .  Names: nil
   274  .  .  .  .  .  .  .  .  .  Type: *ast.Ident {
   275  .  .  .  .  .  .  .  .  .  .  NamePos: -
   276  .  .  .  .  .  .  .  .  .  .  Name: "error"
   277  .  .  .  .  .  .  .  .  .  .  Obj: nil
   278  .  .  .  .  .  .  .  .  .  }
   279  .  .  .  .  .  .  .  .  .  Tag: nil
   280  .  .  .  .  .  .  .  .  .  Comment: nil
   281  .  .  .  .  .  .  .  .  }
   282  .  .  .  .  .  .  .  }
   283  .  .  .  .  .  .  .  Closing: -
   284  .  .  .  .  .  .  }
   285  .  .  .  .  .  }
   286  .  .  .  .  }
   287  .  .  .  .  Tag: nil
   288  .  .  .  .  Comment: nil
   289  .  .  .  }
   290  .  .  .  7: *ast.Field {
   291  .  .  .  .  Doc: nil
   292  .  .  .  .  Names: []*ast.Ident (len = 1) {
   293  .  .  .  .  .  0: *ast.Ident {
   294  .  .  .  .  .  .  NamePos: -
   295  .  .  .  .  .  .  Name: "serviceMu"
   296  .  .  .  .  .  .  Obj: *ast.Object {
   297  .  .  .  .  .  .  .  Kind: var
   298  .  .  .  .  .  .  .  Name: "serviceMu"
   299  .  .  .  .  .  .  .  Decl: *(obj @ 290)
   300  .  .  .  .  .  .  .  Data: nil
   301  .  .  .  .  .  .  .  Type: nil
   302  .  .  .  .  .  .  }
   303  .  .  .  .  .  }
   304  .  .  .  .  }
   305  .  .  .  .  Type: *ast.SelectorExpr {
   306  .  .  .  .  .  X: *ast.Ident {
   307  .  .  .  .  .  .  NamePos: -
   308  .  .  .  .  .  .  Name: "sync"
   309  .  .  .  .  .  .  Obj: nil
   310  .  .  .  .  .  }
   311  .  .  .  .  .  Sel: *ast.Ident {
   312  .  .  .  .  .  .  NamePos: -
   313  .  .  .  .  .  .  Name: "RWMutex"
   314  .  .  .  .  .  .  Obj: nil
   315  .  .  .  .  .  }
   316  .  .  .  .  }
   317  .  .  .  .  Tag: nil
   318  .  .  .  .  Comment: nil
   319  .  .  .  }
   320  .  .  .  8: *ast.Field {
   321  .  .  .  .  Doc: nil
   322  .  .  .  .  Names: []*ast.Ident (len = 1) {
   323  .  .  .  .  .  0: *ast.Ident {
   324  .  .  .  .  .  .  NamePos: -
   325  .  .  .  .  .  .  Name: "services"
   326  .  .  .  .  .  .  Obj: *ast.Object {
   327  .  .  .  .  .  .  .  Kind: var
   328  .  .  .  .  .  .  .  Name: "services"
   329  .  .  .  .  .  .  .  Decl: *(obj @ 320)
   330  .  .  .  .  .  .  .  Data: nil
   331  .  .  .  .  .  .  .  Type: nil
   332  .  .  .  .  .  .  }
   333  .  .  .  .  .  }
   334  .  .  .  .  }
   335  .  .  .  .  Type: *ast.MapType {
   336  .  .  .  .  .  Map: -
   337  .  .  .  .  .  Key: *ast.Ident {
   338  .  .  .  .  .  .  NamePos: -
   339  .  .  .  .  .  .  Name: "string"
   340  .  .  .  .  .  .  Obj: nil
   341  .  .  .  .  .  }
   342  .  .  .  .  .  Value: *ast.Ident {
   343  .  .  .  .  .  .  NamePos: -
   344  .  .  .  .  .  .  Name: "any"
   345  .  .  .  .  .  .  Obj: nil
   346  .  .  .  .  .  }
   347  .  .  .  .  }
   348  .  .  .  .  Tag: nil
   349  .  .  .  .  Comment: nil
   350  .  .  .  }
   351  .  .  .  9: *ast.Field {
   352  .  .  .  .  Doc: nil
   353  .  .  .  .  Names: []*ast.Ident (len = 1) {
   354  .  .  .  .  .  0: *ast.Ident {
   355  .  .  .  .  .  .  NamePos: -
   356  .  .  .  .  .  .  Name: "servicesLocked"
   357  .  .  .  .  .  .  Obj: *ast.Object {
   358  .  .  .  .  .  .  .  Kind: var
   359  .  .  .  .  .  .  .  Name: "servicesLocked"
   360  .  .  .  .  .  .  .  Decl: *(obj @ 351)
   361  .  .  .  .  .  .  .  Data: nil
   362  .  .  .  .  .  .  .  Type: nil
   363  .  .  .  .  .  .  }
   364  .  .  .  .  .  }
   365  .  .  .  .  }
   366  .  .  .  .  Type: *ast.Ident {
   367  .  .  .  .  .  NamePos: -
   368  .  .  .  .  .  Name: "bool"
   369  .  .  .  .  .  Obj: nil
   370  .  .  .  .  }
   371  .  .  .  .  Tag: nil
   372  .  .  .  .  Comment: nil
   373  .  .  .  }
   374  .  .  }
   375  .  .  Closing: -
   376  .  }
   377  .  Incomplete: false
   378  }

Methods

  • ACTION(msg 0 *ast.Ident { 1 . NamePos: - 2 . Name: "Message" 3 . Obj: nil 4 } ) 0 *ast.Ident { 1 . NamePos: - 2 . Name: "error" 3 . Obj: nil 4 } :

  • Config() 0 *ast.Ident { 1 . NamePos: - 2 . Name: "Config" 3 . Obj: nil 4 } : Config returns the registered Config service.

  • Core() 0 *ast.StarExpr { 1 . Star: - 2 . X: *ast.Ident { 3 . . NamePos: - 4 . . Name: "Core" 5 . . Obj: nil 6 . } 7 } :

  • Display() 0 *ast.Ident { 1 . NamePos: - 2 . Name: "Display" 3 . Obj: nil 4 } : Display returns the registered Display service.

  • RegisterAction(handler 0 *ast.FuncType { 1 . Func: - 2 . TypeParams: nil 3 . Params: *ast.FieldList { 4 . . Opening: - 5 . . List: []*ast.Field (len = 2) { 6 . . . 0: *ast.Field { 7 . . . . Doc: nil 8 . . . . Names: nil 9 . . . . Type: *ast.StarExpr { 10 . . . . . Star: - 11 . . . . . X: *ast.Ident { 12 . . . . . . NamePos: - 13 . . . . . . Name: "Core" 14 . . . . . . Obj: nil 15 . . . . . } 16 . . . . } 17 . . . . Tag: nil 18 . . . . Comment: nil 19 . . . } 20 . . . 1: *ast.Field { 21 . . . . Doc: nil 22 . . . . Names: nil 23 . . . . Type: *ast.Ident { 24 . . . . . NamePos: - 25 . . . . . Name: "Message" 26 . . . . . Obj: nil 27 . . . . } 28 . . . . Tag: nil 29 . . . . Comment: nil 30 . . . } 31 . . } 32 . . Closing: - 33 . } 34 . Results: *ast.FieldList { 35 . . Opening: - 36 . . List: []*ast.Field (len = 1) { 37 . . . 0: *ast.Field { 38 . . . . Doc: nil 39 . . . . Names: nil 40 . . . . Type: *ast.Ident { 41 . . . . . NamePos: - 42 . . . . . Name: "error" 43 . . . . . Obj: nil 44 . . . . } 45 . . . . Tag: nil 46 . . . . Comment: nil 47 . . . } 48 . . } 49 . . Closing: - 50 . } 51 } ) :

  • RegisterActions(handlers 0 *ast.Ellipsis { 1 . Ellipsis: - 2 . Elt: *ast.FuncType { 3 . . Func: - 4 . . TypeParams: nil 5 . . Params: *ast.FieldList { 6 . . . Opening: - 7 . . . List: []*ast.Field (len = 2) { 8 . . . . 0: *ast.Field { 9 . . . . . Doc: nil 10 . . . . . Names: nil 11 . . . . . Type: *ast.StarExpr { 12 . . . . . . Star: - 13 . . . . . . X: *ast.Ident { 14 . . . . . . . NamePos: - 15 . . . . . . . Name: "Core" 16 . . . . . . . Obj: nil 17 . . . . . . } 18 . . . . . } 19 . . . . . Tag: nil 20 . . . . . Comment: nil 21 . . . . } 22 . . . . 1: *ast.Field { 23 . . . . . Doc: nil 24 . . . . . Names: nil 25 . . . . . Type: *ast.Ident { 26 . . . . . . NamePos: - 27 . . . . . . Name: "Message" 28 . . . . . . Obj: nil 29 . . . . . } 30 . . . . . Tag: nil 31 . . . . . Comment: nil 32 . . . . } 33 . . . } 34 . . . Closing: - 35 . . } 36 . . Results: *ast.FieldList { 37 . . . Opening: - 38 . . . List: []*ast.Field (len = 1) { 39 . . . . 0: *ast.Field { 40 . . . . . Doc: nil 41 . . . . . Names: nil 42 . . . . . Type: *ast.Ident { 43 . . . . . . NamePos: - 44 . . . . . . Name: "error" 45 . . . . . . Obj: nil 46 . . . . . } 47 . . . . . Tag: nil 48 . . . . . Comment: nil 49 . . . . } 50 . . . } 51 . . . Closing: - 52 . . } 53 . } 54 } ) :

  • RegisterService(name 0 *ast.Ident { 1 . NamePos: - 2 . Name: "string" 3 . Obj: nil 4 } , api 0 *ast.Ident { 1 . NamePos: - 2 . Name: "any" 3 . Obj: nil 4 } ) 0 *ast.Ident { 1 . NamePos: - 2 . Name: "error" 3 . Obj: nil 4 } :

  • Service(name 0 *ast.Ident { 1 . NamePos: - 2 . Name: "string" 3 . Obj: nil 4 } ) 0 *ast.Ident { 1 . NamePos: - 2 . Name: "any" 3 . Obj: nil 4 } :

  • ServiceShutdown(ctx 0 *ast.SelectorExpr { 1 . X: *ast.Ident { 2 . . NamePos: - 3 . . Name: "context" 4 . . Obj: nil 5 . } 6 . Sel: *ast.Ident { 7 . . NamePos: - 8 . . Name: "Context" 9 . . Obj: nil 10 . } 11 } ) 0 *ast.Ident { 1 . NamePos: - 2 . Name: "error" 3 . Obj: nil 4 } :

  • ServiceStartup(ctx 0 *ast.SelectorExpr { 1 . X: *ast.Ident { 2 . . NamePos: - 3 . . Name: "context" 4 . . Obj: nil 5 . } 6 . Sel: *ast.Ident { 7 . . NamePos: - 8 . . Name: "Context" 9 . . Obj: nil 10 . } 11 } , options 0 *ast.SelectorExpr { 1 . X: *ast.Ident { 2 . . NamePos: - 3 . . Name: "application" 4 . . Obj: nil 5 . } 6 . Sel: *ast.Ident { 7 . . NamePos: - 8 . . Name: "ServiceOptions" 9 . . Obj: nil 10 . } 11 } ) 0 *ast.Ident { 1 . NamePos: - 2 . Name: "error" 3 . Obj: nil 4 } :

type Crypt

type Crypt      0  *ast.InterfaceType {
     1  .  Interface: -
     2  .  Methods: *ast.FieldList {
     3  .  .  Opening: -
     4  .  .  List: []*ast.Field (len = 2) {
     5  .  .  .  0: *ast.Field {
     6  .  .  .  .  Doc: nil
     7  .  .  .  .  Names: []*ast.Ident (len = 1) {
     8  .  .  .  .  .  0: *ast.Ident {
     9  .  .  .  .  .  .  NamePos: -
    10  .  .  .  .  .  .  Name: "EncryptPGP"
    11  .  .  .  .  .  .  Obj: *ast.Object {
    12  .  .  .  .  .  .  .  Kind: func
    13  .  .  .  .  .  .  .  Name: "EncryptPGP"
    14  .  .  .  .  .  .  .  Decl: *(obj @ 5)
    15  .  .  .  .  .  .  .  Data: nil
    16  .  .  .  .  .  .  .  Type: nil
    17  .  .  .  .  .  .  }
    18  .  .  .  .  .  }
    19  .  .  .  .  }
    20  .  .  .  .  Type: *ast.FuncType {
    21  .  .  .  .  .  Func: -
    22  .  .  .  .  .  TypeParams: nil
    23  .  .  .  .  .  Params: *ast.FieldList {
    24  .  .  .  .  .  .  Opening: -
    25  .  .  .  .  .  .  List: []*ast.Field (len = 3) {
    26  .  .  .  .  .  .  .  0: *ast.Field {
    27  .  .  .  .  .  .  .  .  Doc: nil
    28  .  .  .  .  .  .  .  .  Names: []*ast.Ident (len = 1) {
    29  .  .  .  .  .  .  .  .  .  0: *ast.Ident {
    30  .  .  .  .  .  .  .  .  .  .  NamePos: -
    31  .  .  .  .  .  .  .  .  .  .  Name: "writer"
    32  .  .  .  .  .  .  .  .  .  .  Obj: *ast.Object {
    33  .  .  .  .  .  .  .  .  .  .  .  Kind: var
    34  .  .  .  .  .  .  .  .  .  .  .  Name: "writer"
    35  .  .  .  .  .  .  .  .  .  .  .  Decl: *(obj @ 26)
    36  .  .  .  .  .  .  .  .  .  .  .  Data: nil
    37  .  .  .  .  .  .  .  .  .  .  .  Type: nil
    38  .  .  .  .  .  .  .  .  .  .  }
    39  .  .  .  .  .  .  .  .  .  }
    40  .  .  .  .  .  .  .  .  }
    41  .  .  .  .  .  .  .  .  Type: *ast.SelectorExpr {
    42  .  .  .  .  .  .  .  .  .  X: *ast.Ident {
    43  .  .  .  .  .  .  .  .  .  .  NamePos: -
    44  .  .  .  .  .  .  .  .  .  .  Name: "io"
    45  .  .  .  .  .  .  .  .  .  .  Obj: nil
    46  .  .  .  .  .  .  .  .  .  }
    47  .  .  .  .  .  .  .  .  .  Sel: *ast.Ident {
    48  .  .  .  .  .  .  .  .  .  .  NamePos: -
    49  .  .  .  .  .  .  .  .  .  .  Name: "Writer"
    50  .  .  .  .  .  .  .  .  .  .  Obj: nil
    51  .  .  .  .  .  .  .  .  .  }
    52  .  .  .  .  .  .  .  .  }
    53  .  .  .  .  .  .  .  .  Tag: nil
    54  .  .  .  .  .  .  .  .  Comment: nil
    55  .  .  .  .  .  .  .  }
    56  .  .  .  .  .  .  .  1: *ast.Field {
    57  .  .  .  .  .  .  .  .  Doc: nil
    58  .  .  .  .  .  .  .  .  Names: []*ast.Ident (len = 2) {
    59  .  .  .  .  .  .  .  .  .  0: *ast.Ident {
    60  .  .  .  .  .  .  .  .  .  .  NamePos: -
    61  .  .  .  .  .  .  .  .  .  .  Name: "recipientPath"
    62  .  .  .  .  .  .  .  .  .  .  Obj: *ast.Object {
    63  .  .  .  .  .  .  .  .  .  .  .  Kind: var
    64  .  .  .  .  .  .  .  .  .  .  .  Name: "recipientPath"
    65  .  .  .  .  .  .  .  .  .  .  .  Decl: *(obj @ 56)
    66  .  .  .  .  .  .  .  .  .  .  .  Data: nil
    67  .  .  .  .  .  .  .  .  .  .  .  Type: nil
    68  .  .  .  .  .  .  .  .  .  .  }
    69  .  .  .  .  .  .  .  .  .  }
    70  .  .  .  .  .  .  .  .  .  1: *ast.Ident {
    71  .  .  .  .  .  .  .  .  .  .  NamePos: -
    72  .  .  .  .  .  .  .  .  .  .  Name: "data"
    73  .  .  .  .  .  .  .  .  .  .  Obj: *ast.Object {
    74  .  .  .  .  .  .  .  .  .  .  .  Kind: var
    75  .  .  .  .  .  .  .  .  .  .  .  Name: "data"
    76  .  .  .  .  .  .  .  .  .  .  .  Decl: *(obj @ 56)
    77  .  .  .  .  .  .  .  .  .  .  .  Data: nil
    78  .  .  .  .  .  .  .  .  .  .  .  Type: nil
    79  .  .  .  .  .  .  .  .  .  .  }
    80  .  .  .  .  .  .  .  .  .  }
    81  .  .  .  .  .  .  .  .  }
    82  .  .  .  .  .  .  .  .  Type: *ast.Ident {
    83  .  .  .  .  .  .  .  .  .  NamePos: -
    84  .  .  .  .  .  .  .  .  .  Name: "string"
    85  .  .  .  .  .  .  .  .  .  Obj: nil
    86  .  .  .  .  .  .  .  .  }
    87  .  .  .  .  .  .  .  .  Tag: nil
    88  .  .  .  .  .  .  .  .  Comment: nil
    89  .  .  .  .  .  .  .  }
    90  .  .  .  .  .  .  .  2: *ast.Field {
    91  .  .  .  .  .  .  .  .  Doc: nil
    92  .  .  .  .  .  .  .  .  Names: []*ast.Ident (len = 2) {
    93  .  .  .  .  .  .  .  .  .  0: *ast.Ident {
    94  .  .  .  .  .  .  .  .  .  .  NamePos: -
    95  .  .  .  .  .  .  .  .  .  .  Name: "signerPath"
    96  .  .  .  .  .  .  .  .  .  .  Obj: *ast.Object {
    97  .  .  .  .  .  .  .  .  .  .  .  Kind: var
    98  .  .  .  .  .  .  .  .  .  .  .  Name: "signerPath"
    99  .  .  .  .  .  .  .  .  .  .  .  Decl: *(obj @ 90)
   100  .  .  .  .  .  .  .  .  .  .  .  Data: nil
   101  .  .  .  .  .  .  .  .  .  .  .  Type: nil
   102  .  .  .  .  .  .  .  .  .  .  }
   103  .  .  .  .  .  .  .  .  .  }
   104  .  .  .  .  .  .  .  .  .  1: *ast.Ident {
   105  .  .  .  .  .  .  .  .  .  .  NamePos: -
   106  .  .  .  .  .  .  .  .  .  .  Name: "signerPassphrase"
   107  .  .  .  .  .  .  .  .  .  .  Obj: *ast.Object {
   108  .  .  .  .  .  .  .  .  .  .  .  Kind: var
   109  .  .  .  .  .  .  .  .  .  .  .  Name: "signerPassphrase"
   110  .  .  .  .  .  .  .  .  .  .  .  Decl: *(obj @ 90)
   111  .  .  .  .  .  .  .  .  .  .  .  Data: nil
   112  .  .  .  .  .  .  .  .  .  .  .  Type: nil
   113  .  .  .  .  .  .  .  .  .  .  }
   114  .  .  .  .  .  .  .  .  .  }
   115  .  .  .  .  .  .  .  .  }
   116  .  .  .  .  .  .  .  .  Type: *ast.StarExpr {
   117  .  .  .  .  .  .  .  .  .  Star: -
   118  .  .  .  .  .  .  .  .  .  X: *ast.Ident {
   119  .  .  .  .  .  .  .  .  .  .  NamePos: -
   120  .  .  .  .  .  .  .  .  .  .  Name: "string"
   121  .  .  .  .  .  .  .  .  .  .  Obj: nil
   122  .  .  .  .  .  .  .  .  .  }
   123  .  .  .  .  .  .  .  .  }
   124  .  .  .  .  .  .  .  .  Tag: nil
   125  .  .  .  .  .  .  .  .  Comment: nil
   126  .  .  .  .  .  .  .  }
   127  .  .  .  .  .  .  }
   128  .  .  .  .  .  .  Closing: -
   129  .  .  .  .  .  }
   130  .  .  .  .  .  Results: *ast.FieldList {
   131  .  .  .  .  .  .  Opening: -
   132  .  .  .  .  .  .  List: []*ast.Field (len = 2) {
   133  .  .  .  .  .  .  .  0: *ast.Field {
   134  .  .  .  .  .  .  .  .  Doc: nil
   135  .  .  .  .  .  .  .  .  Names: nil
   136  .  .  .  .  .  .  .  .  Type: *ast.Ident {
   137  .  .  .  .  .  .  .  .  .  NamePos: -
   138  .  .  .  .  .  .  .  .  .  Name: "string"
   139  .  .  .  .  .  .  .  .  .  Obj: nil
   140  .  .  .  .  .  .  .  .  }
   141  .  .  .  .  .  .  .  .  Tag: nil
   142  .  .  .  .  .  .  .  .  Comment: nil
   143  .  .  .  .  .  .  .  }
   144  .  .  .  .  .  .  .  1: *ast.Field {
   145  .  .  .  .  .  .  .  .  Doc: nil
   146  .  .  .  .  .  .  .  .  Names: nil
   147  .  .  .  .  .  .  .  .  Type: *ast.Ident {
   148  .  .  .  .  .  .  .  .  .  NamePos: -
   149  .  .  .  .  .  .  .  .  .  Name: "error"
   150  .  .  .  .  .  .  .  .  .  Obj: nil
   151  .  .  .  .  .  .  .  .  }
   152  .  .  .  .  .  .  .  .  Tag: nil
   153  .  .  .  .  .  .  .  .  Comment: nil
   154  .  .  .  .  .  .  .  }
   155  .  .  .  .  .  .  }
   156  .  .  .  .  .  .  Closing: -
   157  .  .  .  .  .  }
   158  .  .  .  .  }
   159  .  .  .  .  Tag: nil
   160  .  .  .  .  Comment: nil
   161  .  .  .  }
   162  .  .  .  1: *ast.Field {
   163  .  .  .  .  Doc: nil
   164  .  .  .  .  Names: []*ast.Ident (len = 1) {
   165  .  .  .  .  .  0: *ast.Ident {
   166  .  .  .  .  .  .  NamePos: -
   167  .  .  .  .  .  .  Name: "DecryptPGP"
   168  .  .  .  .  .  .  Obj: *ast.Object {
   169  .  .  .  .  .  .  .  Kind: func
   170  .  .  .  .  .  .  .  Name: "DecryptPGP"
   171  .  .  .  .  .  .  .  Decl: *(obj @ 162)
   172  .  .  .  .  .  .  .  Data: nil
   173  .  .  .  .  .  .  .  Type: nil
   174  .  .  .  .  .  .  }
   175  .  .  .  .  .  }
   176  .  .  .  .  }
   177  .  .  .  .  Type: *ast.FuncType {
   178  .  .  .  .  .  Func: -
   179  .  .  .  .  .  TypeParams: nil
   180  .  .  .  .  .  Params: *ast.FieldList {
   181  .  .  .  .  .  .  Opening: -
   182  .  .  .  .  .  .  List: []*ast.Field (len = 2) {
   183  .  .  .  .  .  .  .  0: *ast.Field {
   184  .  .  .  .  .  .  .  .  Doc: nil
   185  .  .  .  .  .  .  .  .  Names: []*ast.Ident (len = 3) {
   186  .  .  .  .  .  .  .  .  .  0: *ast.Ident {
   187  .  .  .  .  .  .  .  .  .  .  NamePos: -
   188  .  .  .  .  .  .  .  .  .  .  Name: "recipientPath"
   189  .  .  .  .  .  .  .  .  .  .  Obj: *ast.Object {
   190  .  .  .  .  .  .  .  .  .  .  .  Kind: var
   191  .  .  .  .  .  .  .  .  .  .  .  Name: "recipientPath"
   192  .  .  .  .  .  .  .  .  .  .  .  Decl: *(obj @ 183)
   193  .  .  .  .  .  .  .  .  .  .  .  Data: nil
   194  .  .  .  .  .  .  .  .  .  .  .  Type: nil
   195  .  .  .  .  .  .  .  .  .  .  }
   196  .  .  .  .  .  .  .  .  .  }
   197  .  .  .  .  .  .  .  .  .  1: *ast.Ident {
   198  .  .  .  .  .  .  .  .  .  .  NamePos: -
   199  .  .  .  .  .  .  .  .  .  .  Name: "message"
   200  .  .  .  .  .  .  .  .  .  .  Obj: *ast.Object {
   201  .  .  .  .  .  .  .  .  .  .  .  Kind: var
   202  .  .  .  .  .  .  .  .  .  .  .  Name: "message"
   203  .  .  .  .  .  .  .  .  .  .  .  Decl: *(obj @ 183)
   204  .  .  .  .  .  .  .  .  .  .  .  Data: nil
   205  .  .  .  .  .  .  .  .  .  .  .  Type: nil
   206  .  .  .  .  .  .  .  .  .  .  }
   207  .  .  .  .  .  .  .  .  .  }
   208  .  .  .  .  .  .  .  .  .  2: *ast.Ident {
   209  .  .  .  .  .  .  .  .  .  .  NamePos: -
   210  .  .  .  .  .  .  .  .  .  .  Name: "passphrase"
   211  .  .  .  .  .  .  .  .  .  .  Obj: *ast.Object {
   212  .  .  .  .  .  .  .  .  .  .  .  Kind: var
   213  .  .  .  .  .  .  .  .  .  .  .  Name: "passphrase"
   214  .  .  .  .  .  .  .  .  .  .  .  Decl: *(obj @ 183)
   215  .  .  .  .  .  .  .  .  .  .  .  Data: nil
   216  .  .  .  .  .  .  .  .  .  .  .  Type: nil
   217  .  .  .  .  .  .  .  .  .  .  }
   218  .  .  .  .  .  .  .  .  .  }
   219  .  .  .  .  .  .  .  .  }
   220  .  .  .  .  .  .  .  .  Type: *ast.Ident {
   221  .  .  .  .  .  .  .  .  .  NamePos: -
   222  .  .  .  .  .  .  .  .  .  Name: "string"
   223  .  .  .  .  .  .  .  .  .  Obj: nil
   224  .  .  .  .  .  .  .  .  }
   225  .  .  .  .  .  .  .  .  Tag: nil
   226  .  .  .  .  .  .  .  .  Comment: nil
   227  .  .  .  .  .  .  .  }
   228  .  .  .  .  .  .  .  1: *ast.Field {
   229  .  .  .  .  .  .  .  .  Doc: nil
   230  .  .  .  .  .  .  .  .  Names: []*ast.Ident (len = 1) {
   231  .  .  .  .  .  .  .  .  .  0: *ast.Ident {
   232  .  .  .  .  .  .  .  .  .  .  NamePos: -
   233  .  .  .  .  .  .  .  .  .  .  Name: "signerPath"
   234  .  .  .  .  .  .  .  .  .  .  Obj: *ast.Object {
   235  .  .  .  .  .  .  .  .  .  .  .  Kind: var
   236  .  .  .  .  .  .  .  .  .  .  .  Name: "signerPath"
   237  .  .  .  .  .  .  .  .  .  .  .  Decl: *(obj @ 228)
   238  .  .  .  .  .  .  .  .  .  .  .  Data: nil
   239  .  .  .  .  .  .  .  .  .  .  .  Type: nil
   240  .  .  .  .  .  .  .  .  .  .  }
   241  .  .  .  .  .  .  .  .  .  }
   242  .  .  .  .  .  .  .  .  }
   243  .  .  .  .  .  .  .  .  Type: *ast.StarExpr {
   244  .  .  .  .  .  .  .  .  .  Star: -
   245  .  .  .  .  .  .  .  .  .  X: *ast.Ident {
   246  .  .  .  .  .  .  .  .  .  .  NamePos: -
   247  .  .  .  .  .  .  .  .  .  .  Name: "string"
   248  .  .  .  .  .  .  .  .  .  .  Obj: nil
   249  .  .  .  .  .  .  .  .  .  }
   250  .  .  .  .  .  .  .  .  }
   251  .  .  .  .  .  .  .  .  Tag: nil
   252  .  .  .  .  .  .  .  .  Comment: nil
   253  .  .  .  .  .  .  .  }
   254  .  .  .  .  .  .  }
   255  .  .  .  .  .  .  Closing: -
   256  .  .  .  .  .  }
   257  .  .  .  .  .  Results: *ast.FieldList {
   258  .  .  .  .  .  .  Opening: -
   259  .  .  .  .  .  .  List: []*ast.Field (len = 2) {
   260  .  .  .  .  .  .  .  0: *ast.Field {
   261  .  .  .  .  .  .  .  .  Doc: nil
   262  .  .  .  .  .  .  .  .  Names: nil
   263  .  .  .  .  .  .  .  .  Type: *ast.Ident {
   264  .  .  .  .  .  .  .  .  .  NamePos: -
   265  .  .  .  .  .  .  .  .  .  Name: "string"
   266  .  .  .  .  .  .  .  .  .  Obj: nil
   267  .  .  .  .  .  .  .  .  }
   268  .  .  .  .  .  .  .  .  Tag: nil
   269  .  .  .  .  .  .  .  .  Comment: nil
   270  .  .  .  .  .  .  .  }
   271  .  .  .  .  .  .  .  1: *ast.Field {
   272  .  .  .  .  .  .  .  .  Doc: nil
   273  .  .  .  .  .  .  .  .  Names: nil
   274  .  .  .  .  .  .  .  .  Type: *ast.Ident {
   275  .  .  .  .  .  .  .  .  .  NamePos: -
   276  .  .  .  .  .  .  .  .  .  Name: "error"
   277  .  .  .  .  .  .  .  .  .  Obj: nil
   278  .  .  .  .  .  .  .  .  }
   279  .  .  .  .  .  .  .  .  Tag: nil
   280  .  .  .  .  .  .  .  .  Comment: nil
   281  .  .  .  .  .  .  .  }
   282  .  .  .  .  .  .  }
   283  .  .  .  .  .  .  Closing: -
   284  .  .  .  .  .  }
   285  .  .  .  .  }
   286  .  .  .  .  Tag: nil
   287  .  .  .  .  Comment: nil
   288  .  .  .  }
   289  .  .  }
   290  .  .  Closing: -
   291  .  }
   292  .  Incomplete: false
   293  }

Crypt provides cryptographic functions.

type Display

type Display      0  *ast.InterfaceType {
     1  .  Interface: -
     2  .  Methods: *ast.FieldList {
     3  .  .  Opening: -
     4  .  .  List: []*ast.Field (len = 1) {
     5  .  .  .  0: *ast.Field {
     6  .  .  .  .  Doc: nil
     7  .  .  .  .  Names: []*ast.Ident (len = 1) {
     8  .  .  .  .  .  0: *ast.Ident {
     9  .  .  .  .  .  .  NamePos: -
    10  .  .  .  .  .  .  Name: "OpenWindow"
    11  .  .  .  .  .  .  Obj: *ast.Object {
    12  .  .  .  .  .  .  .  Kind: func
    13  .  .  .  .  .  .  .  Name: "OpenWindow"
    14  .  .  .  .  .  .  .  Decl: *(obj @ 5)
    15  .  .  .  .  .  .  .  Data: nil
    16  .  .  .  .  .  .  .  Type: nil
    17  .  .  .  .  .  .  }
    18  .  .  .  .  .  }
    19  .  .  .  .  }
    20  .  .  .  .  Type: *ast.FuncType {
    21  .  .  .  .  .  Func: -
    22  .  .  .  .  .  TypeParams: nil
    23  .  .  .  .  .  Params: *ast.FieldList {
    24  .  .  .  .  .  .  Opening: -
    25  .  .  .  .  .  .  List: []*ast.Field (len = 1) {
    26  .  .  .  .  .  .  .  0: *ast.Field {
    27  .  .  .  .  .  .  .  .  Doc: nil
    28  .  .  .  .  .  .  .  .  Names: []*ast.Ident (len = 1) {
    29  .  .  .  .  .  .  .  .  .  0: *ast.Ident {
    30  .  .  .  .  .  .  .  .  .  .  NamePos: -
    31  .  .  .  .  .  .  .  .  .  .  Name: "opts"
    32  .  .  .  .  .  .  .  .  .  .  Obj: *ast.Object {
    33  .  .  .  .  .  .  .  .  .  .  .  Kind: var
    34  .  .  .  .  .  .  .  .  .  .  .  Name: "opts"
    35  .  .  .  .  .  .  .  .  .  .  .  Decl: *(obj @ 26)
    36  .  .  .  .  .  .  .  .  .  .  .  Data: nil
    37  .  .  .  .  .  .  .  .  .  .  .  Type: nil
    38  .  .  .  .  .  .  .  .  .  .  }
    39  .  .  .  .  .  .  .  .  .  }
    40  .  .  .  .  .  .  .  .  }
    41  .  .  .  .  .  .  .  .  Type: *ast.Ellipsis {
    42  .  .  .  .  .  .  .  .  .  Ellipsis: -
    43  .  .  .  .  .  .  .  .  .  Elt: *ast.Ident {
    44  .  .  .  .  .  .  .  .  .  .  NamePos: -
    45  .  .  .  .  .  .  .  .  .  .  Name: "WindowOption"
    46  .  .  .  .  .  .  .  .  .  .  Obj: *ast.Object {
    47  .  .  .  .  .  .  .  .  .  .  .  Kind: type
    48  .  .  .  .  .  .  .  .  .  .  .  Name: "WindowOption"
    49  .  .  .  .  .  .  .  .  .  .  .  Decl: *ast.TypeSpec {
    50  .  .  .  .  .  .  .  .  .  .  .  .  Doc: nil
    51  .  .  .  .  .  .  .  .  .  .  .  .  Name: *ast.Ident {
    52  .  .  .  .  .  .  .  .  .  .  .  .  .  NamePos: -
    53  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "WindowOption"
    54  .  .  .  .  .  .  .  .  .  .  .  .  .  Obj: *(obj @ 46)
    55  .  .  .  .  .  .  .  .  .  .  .  .  }
    56  .  .  .  .  .  .  .  .  .  .  .  .  TypeParams: nil
    57  .  .  .  .  .  .  .  .  .  .  .  .  Assign: -
    58  .  .  .  .  .  .  .  .  .  .  .  .  Type: *ast.InterfaceType {
    59  .  .  .  .  .  .  .  .  .  .  .  .  .  Interface: -
    60  .  .  .  .  .  .  .  .  .  .  .  .  .  Methods: *ast.FieldList {
    61  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Opening: -
    62  .  .  .  .  .  .  .  .  .  .  .  .  .  .  List: []*ast.Field (len = 1) {
    63  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  0: *ast.Field {
    64  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Doc: nil
    65  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Names: []*ast.Ident (len = 1) {
    66  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  0: *ast.Ident {
    67  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  NamePos: -
    68  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "Apply"
    69  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Obj: *ast.Object {
    70  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Kind: func
    71  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "Apply"
    72  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Decl: *(obj @ 63)
    73  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Data: nil
    74  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Type: nil
    75  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
    76  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
    77  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
    78  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Type: *ast.FuncType {
    79  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Func: -
    80  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  TypeParams: nil
    81  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Params: *ast.FieldList {
    82  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Opening: -
    83  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  List: []*ast.Field (len = 1) {
    84  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  0: *ast.Field {
    85  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Doc: nil
    86  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Names: nil
    87  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Type: *ast.StarExpr {
    88  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Star: -
    89  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  X: *ast.Ident {
    90  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  NamePos: -
    91  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "WindowConfig"
    92  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Obj: *ast.Object {
    93  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Kind: type
    94  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "WindowConfig"
    95  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Decl: *ast.TypeSpec {
    96  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Doc: nil
    97  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: *ast.Ident {
    98  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  NamePos: -
    99  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "WindowConfig"
   100  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Obj: *(obj @ 92)
   101  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   102  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  TypeParams: nil
   103  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Assign: -
   104  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Type: *ast.StructType {
   105  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Struct: -
   106  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Fields: *ast.FieldList {
   107  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Opening: -
   108  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  List: []*ast.Field (len = 5) {
   109  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  0: *ast.Field {
   110  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Doc: nil
   111  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Names: []*ast.Ident (len = 1) {
   112  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  0: *ast.Ident {
   113  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  NamePos: -
   114  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "Name"
   115  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Obj: *ast.Object {
   116  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Kind: var
   117  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "Name"
   118  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Decl: *(obj @ 109)
   119  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Data: nil
   120  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Type: nil
   121  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   122  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   123  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   124  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Type: *ast.Ident {
   125  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  NamePos: -
   126  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "string"
   127  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Obj: nil
   128  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   129  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Tag: nil
   130  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Comment: nil
   131  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   132  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  1: *ast.Field {
   133  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Doc: nil
   134  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Names: []*ast.Ident (len = 1) {
   135  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  0: *ast.Ident {
   136  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  NamePos: -
   137  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "Title"
   138  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Obj: *ast.Object {
   139  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Kind: var
   140  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "Title"
   141  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Decl: *(obj @ 132)
   142  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Data: nil
   143  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Type: nil
   144  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   145  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   146  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   147  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Type: *ast.Ident {
   148  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  NamePos: -
   149  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "string"
   150  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Obj: nil
   151  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   152  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Tag: nil
   153  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Comment: nil
   154  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   155  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  2: *ast.Field {
   156  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Doc: nil
   157  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Names: []*ast.Ident (len = 1) {
   158  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  0: *ast.Ident {
   159  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  NamePos: -
   160  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "URL"
   161  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Obj: *ast.Object {
   162  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Kind: var
   163  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "URL"
   164  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Decl: *(obj @ 155)
   165  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Data: nil
   166  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Type: nil
   167  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   168  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   169  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   170  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Type: *ast.Ident {
   171  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  NamePos: -
   172  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "string"
   173  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Obj: nil
   174  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   175  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Tag: nil
   176  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Comment: nil
   177  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   178  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  3: *ast.Field {
   179  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Doc: nil
   180  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Names: []*ast.Ident (len = 1) {
   181  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  0: *ast.Ident {
   182  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  NamePos: -
   183  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "Width"
   184  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Obj: *ast.Object {
   185  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Kind: var
   186  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "Width"
   187  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Decl: *(obj @ 178)
   188  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Data: nil
   189  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Type: nil
   190  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   191  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   192  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   193  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Type: *ast.Ident {
   194  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  NamePos: -
   195  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "int"
   196  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Obj: nil
   197  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   198  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Tag: nil
   199  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Comment: nil
   200  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   201  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  4: *ast.Field {
   202  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Doc: nil
   203  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Names: []*ast.Ident (len = 1) {
   204  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  0: *ast.Ident {
   205  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  NamePos: -
   206  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "Height"
   207  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Obj: *ast.Object {
   208  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Kind: var
   209  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "Height"
   210  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Decl: *(obj @ 201)
   211  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Data: nil
   212  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Type: nil
   213  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   214  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   215  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   216  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Type: *ast.Ident {
   217  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  NamePos: -
   218  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "int"
   219  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Obj: nil
   220  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   221  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Tag: nil
   222  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Comment: *ast.CommentGroup {
   223  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  List: []*ast.Comment (len = 1) {
   224  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  0: *ast.Comment {
   225  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Slash: -
   226  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Text: "// Add other common window options here as needed"
   227  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   228  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   229  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   230  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   231  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   232  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Closing: -
   233  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   234  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Incomplete: false
   235  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   236  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Comment: nil
   237  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   238  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Data: nil
   239  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Type: nil
   240  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   241  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   242  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   243  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Tag: nil
   244  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Comment: nil
   245  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   246  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   247  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Closing: -
   248  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   249  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Results: nil
   250  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   251  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Tag: nil
   252  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Comment: nil
   253  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   254  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   255  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Closing: -
   256  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   257  .  .  .  .  .  .  .  .  .  .  .  .  .  Incomplete: false
   258  .  .  .  .  .  .  .  .  .  .  .  .  }
   259  .  .  .  .  .  .  .  .  .  .  .  .  Comment: nil
   260  .  .  .  .  .  .  .  .  .  .  .  }
   261  .  .  .  .  .  .  .  .  .  .  .  Data: nil
   262  .  .  .  .  .  .  .  .  .  .  .  Type: nil
   263  .  .  .  .  .  .  .  .  .  .  }
   264  .  .  .  .  .  .  .  .  .  }
   265  .  .  .  .  .  .  .  .  }
   266  .  .  .  .  .  .  .  .  Tag: nil
   267  .  .  .  .  .  .  .  .  Comment: nil
   268  .  .  .  .  .  .  .  }
   269  .  .  .  .  .  .  }
   270  .  .  .  .  .  .  Closing: -
   271  .  .  .  .  .  }
   272  .  .  .  .  .  Results: *ast.FieldList {
   273  .  .  .  .  .  .  Opening: -
   274  .  .  .  .  .  .  List: []*ast.Field (len = 1) {
   275  .  .  .  .  .  .  .  0: *ast.Field {
   276  .  .  .  .  .  .  .  .  Doc: nil
   277  .  .  .  .  .  .  .  .  Names: nil
   278  .  .  .  .  .  .  .  .  Type: *ast.Ident {
   279  .  .  .  .  .  .  .  .  .  NamePos: -
   280  .  .  .  .  .  .  .  .  .  Name: "error"
   281  .  .  .  .  .  .  .  .  .  Obj: nil
   282  .  .  .  .  .  .  .  .  }
   283  .  .  .  .  .  .  .  .  Tag: nil
   284  .  .  .  .  .  .  .  .  Comment: nil
   285  .  .  .  .  .  .  .  }
   286  .  .  .  .  .  .  }
   287  .  .  .  .  .  .  Closing: -
   288  .  .  .  .  .  }
   289  .  .  .  .  }
   290  .  .  .  .  Tag: nil
   291  .  .  .  .  Comment: nil
   292  .  .  .  }
   293  .  .  }
   294  .  .  Closing: -
   295  .  }
   296  .  Incomplete: false
   297  }

Display manages windows and UI.

type Help

type Help      0  *ast.InterfaceType {
     1  .  Interface: -
     2  .  Methods: *ast.FieldList {
     3  .  .  Opening: -
     4  .  .  List: []*ast.Field (len = 2) {
     5  .  .  .  0: *ast.Field {
     6  .  .  .  .  Doc: nil
     7  .  .  .  .  Names: []*ast.Ident (len = 1) {
     8  .  .  .  .  .  0: *ast.Ident {
     9  .  .  .  .  .  .  NamePos: -
    10  .  .  .  .  .  .  Name: "Show"
    11  .  .  .  .  .  .  Obj: *ast.Object {
    12  .  .  .  .  .  .  .  Kind: func
    13  .  .  .  .  .  .  .  Name: "Show"
    14  .  .  .  .  .  .  .  Decl: *(obj @ 5)
    15  .  .  .  .  .  .  .  Data: nil
    16  .  .  .  .  .  .  .  Type: nil
    17  .  .  .  .  .  .  }
    18  .  .  .  .  .  }
    19  .  .  .  .  }
    20  .  .  .  .  Type: *ast.FuncType {
    21  .  .  .  .  .  Func: -
    22  .  .  .  .  .  TypeParams: nil
    23  .  .  .  .  .  Params: *ast.FieldList {
    24  .  .  .  .  .  .  Opening: -
    25  .  .  .  .  .  .  List: nil
    26  .  .  .  .  .  .  Closing: -
    27  .  .  .  .  .  }
    28  .  .  .  .  .  Results: *ast.FieldList {
    29  .  .  .  .  .  .  Opening: -
    30  .  .  .  .  .  .  List: []*ast.Field (len = 1) {
    31  .  .  .  .  .  .  .  0: *ast.Field {
    32  .  .  .  .  .  .  .  .  Doc: nil
    33  .  .  .  .  .  .  .  .  Names: nil
    34  .  .  .  .  .  .  .  .  Type: *ast.Ident {
    35  .  .  .  .  .  .  .  .  .  NamePos: -
    36  .  .  .  .  .  .  .  .  .  Name: "error"
    37  .  .  .  .  .  .  .  .  .  Obj: nil
    38  .  .  .  .  .  .  .  .  }
    39  .  .  .  .  .  .  .  .  Tag: nil
    40  .  .  .  .  .  .  .  .  Comment: nil
    41  .  .  .  .  .  .  .  }
    42  .  .  .  .  .  .  }
    43  .  .  .  .  .  .  Closing: -
    44  .  .  .  .  .  }
    45  .  .  .  .  }
    46  .  .  .  .  Tag: nil
    47  .  .  .  .  Comment: nil
    48  .  .  .  }
    49  .  .  .  1: *ast.Field {
    50  .  .  .  .  Doc: nil
    51  .  .  .  .  Names: []*ast.Ident (len = 1) {
    52  .  .  .  .  .  0: *ast.Ident {
    53  .  .  .  .  .  .  NamePos: -
    54  .  .  .  .  .  .  Name: "ShowAt"
    55  .  .  .  .  .  .  Obj: *ast.Object {
    56  .  .  .  .  .  .  .  Kind: func
    57  .  .  .  .  .  .  .  Name: "ShowAt"
    58  .  .  .  .  .  .  .  Decl: *(obj @ 49)
    59  .  .  .  .  .  .  .  Data: nil
    60  .  .  .  .  .  .  .  Type: nil
    61  .  .  .  .  .  .  }
    62  .  .  .  .  .  }
    63  .  .  .  .  }
    64  .  .  .  .  Type: *ast.FuncType {
    65  .  .  .  .  .  Func: -
    66  .  .  .  .  .  TypeParams: nil
    67  .  .  .  .  .  Params: *ast.FieldList {
    68  .  .  .  .  .  .  Opening: -
    69  .  .  .  .  .  .  List: []*ast.Field (len = 1) {
    70  .  .  .  .  .  .  .  0: *ast.Field {
    71  .  .  .  .  .  .  .  .  Doc: nil
    72  .  .  .  .  .  .  .  .  Names: []*ast.Ident (len = 1) {
    73  .  .  .  .  .  .  .  .  .  0: *ast.Ident {
    74  .  .  .  .  .  .  .  .  .  .  NamePos: -
    75  .  .  .  .  .  .  .  .  .  .  Name: "anchor"
    76  .  .  .  .  .  .  .  .  .  .  Obj: *ast.Object {
    77  .  .  .  .  .  .  .  .  .  .  .  Kind: var
    78  .  .  .  .  .  .  .  .  .  .  .  Name: "anchor"
    79  .  .  .  .  .  .  .  .  .  .  .  Decl: *(obj @ 70)
    80  .  .  .  .  .  .  .  .  .  .  .  Data: nil
    81  .  .  .  .  .  .  .  .  .  .  .  Type: nil
    82  .  .  .  .  .  .  .  .  .  .  }
    83  .  .  .  .  .  .  .  .  .  }
    84  .  .  .  .  .  .  .  .  }
    85  .  .  .  .  .  .  .  .  Type: *ast.Ident {
    86  .  .  .  .  .  .  .  .  .  NamePos: -
    87  .  .  .  .  .  .  .  .  .  Name: "string"
    88  .  .  .  .  .  .  .  .  .  Obj: nil
    89  .  .  .  .  .  .  .  .  }
    90  .  .  .  .  .  .  .  .  Tag: nil
    91  .  .  .  .  .  .  .  .  Comment: nil
    92  .  .  .  .  .  .  .  }
    93  .  .  .  .  .  .  }
    94  .  .  .  .  .  .  Closing: -
    95  .  .  .  .  .  }
    96  .  .  .  .  .  Results: *ast.FieldList {
    97  .  .  .  .  .  .  Opening: -
    98  .  .  .  .  .  .  List: []*ast.Field (len = 1) {
    99  .  .  .  .  .  .  .  0: *ast.Field {
   100  .  .  .  .  .  .  .  .  Doc: nil
   101  .  .  .  .  .  .  .  .  Names: nil
   102  .  .  .  .  .  .  .  .  Type: *ast.Ident {
   103  .  .  .  .  .  .  .  .  .  NamePos: -
   104  .  .  .  .  .  .  .  .  .  Name: "error"
   105  .  .  .  .  .  .  .  .  .  Obj: nil
   106  .  .  .  .  .  .  .  .  }
   107  .  .  .  .  .  .  .  .  Tag: nil
   108  .  .  .  .  .  .  .  .  Comment: nil
   109  .  .  .  .  .  .  .  }
   110  .  .  .  .  .  .  }
   111  .  .  .  .  .  .  Closing: -
   112  .  .  .  .  .  }
   113  .  .  .  .  }
   114  .  .  .  .  Tag: nil
   115  .  .  .  .  Comment: nil
   116  .  .  .  }
   117  .  .  }
   118  .  .  Closing: -
   119  .  }
   120  .  Incomplete: false
   121  }

Help manages the in-app documentation and help system.

type I18n

type I18n      0  *ast.InterfaceType {
     1  .  Interface: -
     2  .  Methods: *ast.FieldList {
     3  .  .  Opening: -
     4  .  .  List: []*ast.Field (len = 2) {
     5  .  .  .  0: *ast.Field {
     6  .  .  .  .  Doc: *ast.CommentGroup {
     7  .  .  .  .  .  List: []*ast.Comment (len = 1) {
     8  .  .  .  .  .  .  0: *ast.Comment {
     9  .  .  .  .  .  .  .  Slash: -
    10  .  .  .  .  .  .  .  Text: "// Translate returns the translated string for the given key."
    11  .  .  .  .  .  .  }
    12  .  .  .  .  .  }
    13  .  .  .  .  }
    14  .  .  .  .  Names: []*ast.Ident (len = 1) {
    15  .  .  .  .  .  0: *ast.Ident {
    16  .  .  .  .  .  .  NamePos: -
    17  .  .  .  .  .  .  Name: "Translate"
    18  .  .  .  .  .  .  Obj: *ast.Object {
    19  .  .  .  .  .  .  .  Kind: func
    20  .  .  .  .  .  .  .  Name: "Translate"
    21  .  .  .  .  .  .  .  Decl: *(obj @ 5)
    22  .  .  .  .  .  .  .  Data: nil
    23  .  .  .  .  .  .  .  Type: nil
    24  .  .  .  .  .  .  }
    25  .  .  .  .  .  }
    26  .  .  .  .  }
    27  .  .  .  .  Type: *ast.FuncType {
    28  .  .  .  .  .  Func: -
    29  .  .  .  .  .  TypeParams: nil
    30  .  .  .  .  .  Params: *ast.FieldList {
    31  .  .  .  .  .  .  Opening: -
    32  .  .  .  .  .  .  List: []*ast.Field (len = 1) {
    33  .  .  .  .  .  .  .  0: *ast.Field {
    34  .  .  .  .  .  .  .  .  Doc: nil
    35  .  .  .  .  .  .  .  .  Names: []*ast.Ident (len = 1) {
    36  .  .  .  .  .  .  .  .  .  0: *ast.Ident {
    37  .  .  .  .  .  .  .  .  .  .  NamePos: -
    38  .  .  .  .  .  .  .  .  .  .  Name: "key"
    39  .  .  .  .  .  .  .  .  .  .  Obj: *ast.Object {
    40  .  .  .  .  .  .  .  .  .  .  .  Kind: var
    41  .  .  .  .  .  .  .  .  .  .  .  Name: "key"
    42  .  .  .  .  .  .  .  .  .  .  .  Decl: *(obj @ 33)
    43  .  .  .  .  .  .  .  .  .  .  .  Data: nil
    44  .  .  .  .  .  .  .  .  .  .  .  Type: nil
    45  .  .  .  .  .  .  .  .  .  .  }
    46  .  .  .  .  .  .  .  .  .  }
    47  .  .  .  .  .  .  .  .  }
    48  .  .  .  .  .  .  .  .  Type: *ast.Ident {
    49  .  .  .  .  .  .  .  .  .  NamePos: -
    50  .  .  .  .  .  .  .  .  .  Name: "string"
    51  .  .  .  .  .  .  .  .  .  Obj: nil
    52  .  .  .  .  .  .  .  .  }
    53  .  .  .  .  .  .  .  .  Tag: nil
    54  .  .  .  .  .  .  .  .  Comment: nil
    55  .  .  .  .  .  .  .  }
    56  .  .  .  .  .  .  }
    57  .  .  .  .  .  .  Closing: -
    58  .  .  .  .  .  }
    59  .  .  .  .  .  Results: *ast.FieldList {
    60  .  .  .  .  .  .  Opening: -
    61  .  .  .  .  .  .  List: []*ast.Field (len = 1) {
    62  .  .  .  .  .  .  .  0: *ast.Field {
    63  .  .  .  .  .  .  .  .  Doc: nil
    64  .  .  .  .  .  .  .  .  Names: nil
    65  .  .  .  .  .  .  .  .  Type: *ast.Ident {
    66  .  .  .  .  .  .  .  .  .  NamePos: -
    67  .  .  .  .  .  .  .  .  .  Name: "string"
    68  .  .  .  .  .  .  .  .  .  Obj: nil
    69  .  .  .  .  .  .  .  .  }
    70  .  .  .  .  .  .  .  .  Tag: nil
    71  .  .  .  .  .  .  .  .  Comment: nil
    72  .  .  .  .  .  .  .  }
    73  .  .  .  .  .  .  }
    74  .  .  .  .  .  .  Closing: -
    75  .  .  .  .  .  }
    76  .  .  .  .  }
    77  .  .  .  .  Tag: nil
    78  .  .  .  .  Comment: nil
    79  .  .  .  }
    80  .  .  .  1: *ast.Field {
    81  .  .  .  .  Doc: *ast.CommentGroup {
    82  .  .  .  .  .  List: []*ast.Comment (len = 1) {
    83  .  .  .  .  .  .  0: *ast.Comment {
    84  .  .  .  .  .  .  .  Slash: -
    85  .  .  .  .  .  .  .  Text: "// SetLanguage changes the active language."
    86  .  .  .  .  .  .  }
    87  .  .  .  .  .  }
    88  .  .  .  .  }
    89  .  .  .  .  Names: []*ast.Ident (len = 1) {
    90  .  .  .  .  .  0: *ast.Ident {
    91  .  .  .  .  .  .  NamePos: -
    92  .  .  .  .  .  .  Name: "SetLanguage"
    93  .  .  .  .  .  .  Obj: *ast.Object {
    94  .  .  .  .  .  .  .  Kind: func
    95  .  .  .  .  .  .  .  Name: "SetLanguage"
    96  .  .  .  .  .  .  .  Decl: *(obj @ 80)
    97  .  .  .  .  .  .  .  Data: nil
    98  .  .  .  .  .  .  .  Type: nil
    99  .  .  .  .  .  .  }
   100  .  .  .  .  .  }
   101  .  .  .  .  }
   102  .  .  .  .  Type: *ast.FuncType {
   103  .  .  .  .  .  Func: -
   104  .  .  .  .  .  TypeParams: nil
   105  .  .  .  .  .  Params: *ast.FieldList {
   106  .  .  .  .  .  .  Opening: -
   107  .  .  .  .  .  .  List: []*ast.Field (len = 1) {
   108  .  .  .  .  .  .  .  0: *ast.Field {
   109  .  .  .  .  .  .  .  .  Doc: nil
   110  .  .  .  .  .  .  .  .  Names: []*ast.Ident (len = 1) {
   111  .  .  .  .  .  .  .  .  .  0: *ast.Ident {
   112  .  .  .  .  .  .  .  .  .  .  NamePos: -
   113  .  .  .  .  .  .  .  .  .  .  Name: "lang"
   114  .  .  .  .  .  .  .  .  .  .  Obj: *ast.Object {
   115  .  .  .  .  .  .  .  .  .  .  .  Kind: var
   116  .  .  .  .  .  .  .  .  .  .  .  Name: "lang"
   117  .  .  .  .  .  .  .  .  .  .  .  Decl: *(obj @ 108)
   118  .  .  .  .  .  .  .  .  .  .  .  Data: nil
   119  .  .  .  .  .  .  .  .  .  .  .  Type: nil
   120  .  .  .  .  .  .  .  .  .  .  }
   121  .  .  .  .  .  .  .  .  .  }
   122  .  .  .  .  .  .  .  .  }
   123  .  .  .  .  .  .  .  .  Type: *ast.Ident {
   124  .  .  .  .  .  .  .  .  .  NamePos: -
   125  .  .  .  .  .  .  .  .  .  Name: "string"
   126  .  .  .  .  .  .  .  .  .  Obj: nil
   127  .  .  .  .  .  .  .  .  }
   128  .  .  .  .  .  .  .  .  Tag: nil
   129  .  .  .  .  .  .  .  .  Comment: nil
   130  .  .  .  .  .  .  .  }
   131  .  .  .  .  .  .  }
   132  .  .  .  .  .  .  Closing: -
   133  .  .  .  .  .  }
   134  .  .  .  .  .  Results: *ast.FieldList {
   135  .  .  .  .  .  .  Opening: -
   136  .  .  .  .  .  .  List: []*ast.Field (len = 1) {
   137  .  .  .  .  .  .  .  0: *ast.Field {
   138  .  .  .  .  .  .  .  .  Doc: nil
   139  .  .  .  .  .  .  .  .  Names: nil
   140  .  .  .  .  .  .  .  .  Type: *ast.Ident {
   141  .  .  .  .  .  .  .  .  .  NamePos: -
   142  .  .  .  .  .  .  .  .  .  Name: "error"
   143  .  .  .  .  .  .  .  .  .  Obj: nil
   144  .  .  .  .  .  .  .  .  }
   145  .  .  .  .  .  .  .  .  Tag: nil
   146  .  .  .  .  .  .  .  .  Comment: nil
   147  .  .  .  .  .  .  .  }
   148  .  .  .  .  .  .  }
   149  .  .  .  .  .  .  Closing: -
   150  .  .  .  .  .  }
   151  .  .  .  .  }
   152  .  .  .  .  Tag: nil
   153  .  .  .  .  Comment: nil
   154  .  .  .  }
   155  .  .  }
   156  .  .  Closing: -
   157  .  }
   158  .  Incomplete: false
   159  }

I18n provides internationalization and localization services.

type Message

type Message      0  *ast.InterfaceType {
     1  .  Interface: -
     2  .  Methods: *ast.FieldList {
     3  .  .  Opening: -
     4  .  .  List: nil
     5  .  .  Closing: -
     6  .  }
     7  .  Incomplete: false
     8  }

type Option

type Option      0  *ast.FuncType {
     1  .  Func: -
     2  .  TypeParams: nil
     3  .  Params: *ast.FieldList {
     4  .  .  Opening: -
     5  .  .  List: []*ast.Field (len = 1) {
     6  .  .  .  0: *ast.Field {
     7  .  .  .  .  Doc: nil
     8  .  .  .  .  Names: nil
     9  .  .  .  .  Type: *ast.StarExpr {
    10  .  .  .  .  .  Star: -
    11  .  .  .  .  .  X: *ast.Ident {
    12  .  .  .  .  .  .  NamePos: -
    13  .  .  .  .  .  .  Name: "Core"
    14  .  .  .  .  .  .  Obj: *ast.Object {
    15  .  .  .  .  .  .  .  Kind: type
    16  .  .  .  .  .  .  .  Name: "Core"
    17  .  .  .  .  .  .  .  Decl: *ast.TypeSpec {
    18  .  .  .  .  .  .  .  .  Doc: nil
    19  .  .  .  .  .  .  .  .  Name: *ast.Ident {
    20  .  .  .  .  .  .  .  .  .  NamePos: -
    21  .  .  .  .  .  .  .  .  .  Name: "Core"
    22  .  .  .  .  .  .  .  .  .  Obj: *(obj @ 14)
    23  .  .  .  .  .  .  .  .  }
    24  .  .  .  .  .  .  .  .  TypeParams: nil
    25  .  .  .  .  .  .  .  .  Assign: -
    26  .  .  .  .  .  .  .  .  Type: *ast.StructType {
    27  .  .  .  .  .  .  .  .  .  Struct: -
    28  .  .  .  .  .  .  .  .  .  Fields: *ast.FieldList {
    29  .  .  .  .  .  .  .  .  .  .  Opening: -
    30  .  .  .  .  .  .  .  .  .  .  List: []*ast.Field (len = 10) {
    31  .  .  .  .  .  .  .  .  .  .  .  0: *ast.Field {
    32  .  .  .  .  .  .  .  .  .  .  .  .  Doc: nil
    33  .  .  .  .  .  .  .  .  .  .  .  .  Names: []*ast.Ident (len = 1) {
    34  .  .  .  .  .  .  .  .  .  .  .  .  .  0: *ast.Ident {
    35  .  .  .  .  .  .  .  .  .  .  .  .  .  .  NamePos: -
    36  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "once"
    37  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Obj: *ast.Object {
    38  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Kind: var
    39  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "once"
    40  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Decl: *(obj @ 31)
    41  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Data: nil
    42  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Type: nil
    43  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
    44  .  .  .  .  .  .  .  .  .  .  .  .  .  }
    45  .  .  .  .  .  .  .  .  .  .  .  .  }
    46  .  .  .  .  .  .  .  .  .  .  .  .  Type: *ast.SelectorExpr {
    47  .  .  .  .  .  .  .  .  .  .  .  .  .  X: *ast.Ident {
    48  .  .  .  .  .  .  .  .  .  .  .  .  .  .  NamePos: -
    49  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "sync"
    50  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Obj: nil
    51  .  .  .  .  .  .  .  .  .  .  .  .  .  }
    52  .  .  .  .  .  .  .  .  .  .  .  .  .  Sel: *ast.Ident {
    53  .  .  .  .  .  .  .  .  .  .  .  .  .  .  NamePos: -
    54  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "Once"
    55  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Obj: nil
    56  .  .  .  .  .  .  .  .  .  .  .  .  .  }
    57  .  .  .  .  .  .  .  .  .  .  .  .  }
    58  .  .  .  .  .  .  .  .  .  .  .  .  Tag: nil
    59  .  .  .  .  .  .  .  .  .  .  .  .  Comment: nil
    60  .  .  .  .  .  .  .  .  .  .  .  }
    61  .  .  .  .  .  .  .  .  .  .  .  1: *ast.Field {
    62  .  .  .  .  .  .  .  .  .  .  .  .  Doc: nil
    63  .  .  .  .  .  .  .  .  .  .  .  .  Names: []*ast.Ident (len = 1) {
    64  .  .  .  .  .  .  .  .  .  .  .  .  .  0: *ast.Ident {
    65  .  .  .  .  .  .  .  .  .  .  .  .  .  .  NamePos: -
    66  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "initErr"
    67  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Obj: *ast.Object {
    68  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Kind: var
    69  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "initErr"
    70  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Decl: *(obj @ 61)
    71  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Data: nil
    72  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Type: nil
    73  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
    74  .  .  .  .  .  .  .  .  .  .  .  .  .  }
    75  .  .  .  .  .  .  .  .  .  .  .  .  }
    76  .  .  .  .  .  .  .  .  .  .  .  .  Type: *ast.Ident {
    77  .  .  .  .  .  .  .  .  .  .  .  .  .  NamePos: -
    78  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "error"
    79  .  .  .  .  .  .  .  .  .  .  .  .  .  Obj: nil
    80  .  .  .  .  .  .  .  .  .  .  .  .  }
    81  .  .  .  .  .  .  .  .  .  .  .  .  Tag: nil
    82  .  .  .  .  .  .  .  .  .  .  .  .  Comment: nil
    83  .  .  .  .  .  .  .  .  .  .  .  }
    84  .  .  .  .  .  .  .  .  .  .  .  2: *ast.Field {
    85  .  .  .  .  .  .  .  .  .  .  .  .  Doc: nil
    86  .  .  .  .  .  .  .  .  .  .  .  .  Names: []*ast.Ident (len = 1) {
    87  .  .  .  .  .  .  .  .  .  .  .  .  .  0: *ast.Ident {
    88  .  .  .  .  .  .  .  .  .  .  .  .  .  .  NamePos: -
    89  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "App"
    90  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Obj: *ast.Object {
    91  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Kind: var
    92  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "App"
    93  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Decl: *(obj @ 84)
    94  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Data: nil
    95  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Type: nil
    96  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
    97  .  .  .  .  .  .  .  .  .  .  .  .  .  }
    98  .  .  .  .  .  .  .  .  .  .  .  .  }
    99  .  .  .  .  .  .  .  .  .  .  .  .  Type: *ast.StarExpr {
   100  .  .  .  .  .  .  .  .  .  .  .  .  .  Star: -
   101  .  .  .  .  .  .  .  .  .  .  .  .  .  X: *ast.SelectorExpr {
   102  .  .  .  .  .  .  .  .  .  .  .  .  .  .  X: *ast.Ident {
   103  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  NamePos: -
   104  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "application"
   105  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Obj: nil
   106  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   107  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Sel: *ast.Ident {
   108  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  NamePos: -
   109  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "App"
   110  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Obj: nil
   111  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   112  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   113  .  .  .  .  .  .  .  .  .  .  .  .  }
   114  .  .  .  .  .  .  .  .  .  .  .  .  Tag: nil
   115  .  .  .  .  .  .  .  .  .  .  .  .  Comment: nil
   116  .  .  .  .  .  .  .  .  .  .  .  }
   117  .  .  .  .  .  .  .  .  .  .  .  3: *ast.Field {
   118  .  .  .  .  .  .  .  .  .  .  .  .  Doc: nil
   119  .  .  .  .  .  .  .  .  .  .  .  .  Names: []*ast.Ident (len = 1) {
   120  .  .  .  .  .  .  .  .  .  .  .  .  .  0: *ast.Ident {
   121  .  .  .  .  .  .  .  .  .  .  .  .  .  .  NamePos: -
   122  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "assets"
   123  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Obj: *ast.Object {
   124  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Kind: var
   125  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "assets"
   126  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Decl: *(obj @ 117)
   127  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Data: nil
   128  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Type: nil
   129  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   130  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   131  .  .  .  .  .  .  .  .  .  .  .  .  }
   132  .  .  .  .  .  .  .  .  .  .  .  .  Type: *ast.SelectorExpr {
   133  .  .  .  .  .  .  .  .  .  .  .  .  .  X: *ast.Ident {
   134  .  .  .  .  .  .  .  .  .  .  .  .  .  .  NamePos: -
   135  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "embed"
   136  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Obj: nil
   137  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   138  .  .  .  .  .  .  .  .  .  .  .  .  .  Sel: *ast.Ident {
   139  .  .  .  .  .  .  .  .  .  .  .  .  .  .  NamePos: -
   140  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "FS"
   141  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Obj: nil
   142  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   143  .  .  .  .  .  .  .  .  .  .  .  .  }
   144  .  .  .  .  .  .  .  .  .  .  .  .  Tag: nil
   145  .  .  .  .  .  .  .  .  .  .  .  .  Comment: nil
   146  .  .  .  .  .  .  .  .  .  .  .  }
   147  .  .  .  .  .  .  .  .  .  .  .  4: *ast.Field {
   148  .  .  .  .  .  .  .  .  .  .  .  .  Doc: nil
   149  .  .  .  .  .  .  .  .  .  .  .  .  Names: []*ast.Ident (len = 1) {
   150  .  .  .  .  .  .  .  .  .  .  .  .  .  0: *ast.Ident {
   151  .  .  .  .  .  .  .  .  .  .  .  .  .  .  NamePos: -
   152  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "serviceLock"
   153  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Obj: *ast.Object {
   154  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Kind: var
   155  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "serviceLock"
   156  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Decl: *(obj @ 147)
   157  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Data: nil
   158  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Type: nil
   159  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   160  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   161  .  .  .  .  .  .  .  .  .  .  .  .  }
   162  .  .  .  .  .  .  .  .  .  .  .  .  Type: *ast.Ident {
   163  .  .  .  .  .  .  .  .  .  .  .  .  .  NamePos: -
   164  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "bool"
   165  .  .  .  .  .  .  .  .  .  .  .  .  .  Obj: nil
   166  .  .  .  .  .  .  .  .  .  .  .  .  }
   167  .  .  .  .  .  .  .  .  .  .  .  .  Tag: nil
   168  .  .  .  .  .  .  .  .  .  .  .  .  Comment: nil
   169  .  .  .  .  .  .  .  .  .  .  .  }
   170  .  .  .  .  .  .  .  .  .  .  .  5: *ast.Field {
   171  .  .  .  .  .  .  .  .  .  .  .  .  Doc: nil
   172  .  .  .  .  .  .  .  .  .  .  .  .  Names: []*ast.Ident (len = 1) {
   173  .  .  .  .  .  .  .  .  .  .  .  .  .  0: *ast.Ident {
   174  .  .  .  .  .  .  .  .  .  .  .  .  .  .  NamePos: -
   175  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "ipcMu"
   176  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Obj: *ast.Object {
   177  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Kind: var
   178  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "ipcMu"
   179  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Decl: *(obj @ 170)
   180  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Data: nil
   181  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Type: nil
   182  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   183  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   184  .  .  .  .  .  .  .  .  .  .  .  .  }
   185  .  .  .  .  .  .  .  .  .  .  .  .  Type: *ast.SelectorExpr {
   186  .  .  .  .  .  .  .  .  .  .  .  .  .  X: *ast.Ident {
   187  .  .  .  .  .  .  .  .  .  .  .  .  .  .  NamePos: -
   188  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "sync"
   189  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Obj: nil
   190  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   191  .  .  .  .  .  .  .  .  .  .  .  .  .  Sel: *ast.Ident {
   192  .  .  .  .  .  .  .  .  .  .  .  .  .  .  NamePos: -
   193  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "RWMutex"
   194  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Obj: nil
   195  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   196  .  .  .  .  .  .  .  .  .  .  .  .  }
   197  .  .  .  .  .  .  .  .  .  .  .  .  Tag: nil
   198  .  .  .  .  .  .  .  .  .  .  .  .  Comment: nil
   199  .  .  .  .  .  .  .  .  .  .  .  }
   200  .  .  .  .  .  .  .  .  .  .  .  6: *ast.Field {
   201  .  .  .  .  .  .  .  .  .  .  .  .  Doc: nil
   202  .  .  .  .  .  .  .  .  .  .  .  .  Names: []*ast.Ident (len = 1) {
   203  .  .  .  .  .  .  .  .  .  .  .  .  .  0: *ast.Ident {
   204  .  .  .  .  .  .  .  .  .  .  .  .  .  .  NamePos: -
   205  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "ipcHandlers"
   206  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Obj: *ast.Object {
   207  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Kind: var
   208  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "ipcHandlers"
   209  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Decl: *(obj @ 200)
   210  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Data: nil
   211  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Type: nil
   212  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   213  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   214  .  .  .  .  .  .  .  .  .  .  .  .  }
   215  .  .  .  .  .  .  .  .  .  .  .  .  Type: *ast.ArrayType {
   216  .  .  .  .  .  .  .  .  .  .  .  .  .  Lbrack: -
   217  .  .  .  .  .  .  .  .  .  .  .  .  .  Len: nil
   218  .  .  .  .  .  .  .  .  .  .  .  .  .  Elt: *ast.FuncType {
   219  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Func: -
   220  .  .  .  .  .  .  .  .  .  .  .  .  .  .  TypeParams: nil
   221  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Params: *ast.FieldList {
   222  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Opening: -
   223  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  List: []*ast.Field (len = 2) {
   224  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  0: *ast.Field {
   225  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Doc: nil
   226  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Names: nil
   227  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Type: *ast.StarExpr {
   228  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Star: -
   229  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  X: *ast.Ident {
   230  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  NamePos: -
   231  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "Core"
   232  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Obj: *(obj @ 14)
   233  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   234  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   235  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Tag: nil
   236  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Comment: nil
   237  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   238  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  1: *ast.Field {
   239  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Doc: nil
   240  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Names: nil
   241  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Type: *ast.Ident {
   242  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  NamePos: -
   243  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "Message"
   244  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Obj: *ast.Object {
   245  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Kind: type
   246  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "Message"
   247  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Decl: *ast.TypeSpec {
   248  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Doc: nil
   249  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: *ast.Ident {
   250  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  NamePos: -
   251  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "Message"
   252  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Obj: *(obj @ 244)
   253  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   254  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  TypeParams: nil
   255  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Assign: -
   256  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Type: *ast.InterfaceType {
   257  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Interface: -
   258  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Methods: *ast.FieldList {
   259  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Opening: -
   260  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  List: nil
   261  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Closing: -
   262  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   263  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Incomplete: false
   264  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   265  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Comment: nil
   266  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   267  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Data: nil
   268  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Type: nil
   269  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   270  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   271  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Tag: nil
   272  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Comment: nil
   273  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   274  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   275  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Closing: -
   276  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   277  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Results: *ast.FieldList {
   278  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Opening: -
   279  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  List: []*ast.Field (len = 1) {
   280  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  0: *ast.Field {
   281  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Doc: nil
   282  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Names: nil
   283  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Type: *ast.Ident {
   284  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  NamePos: -
   285  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "error"
   286  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Obj: nil
   287  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   288  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Tag: nil
   289  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Comment: nil
   290  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   291  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   292  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Closing: -
   293  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   294  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   295  .  .  .  .  .  .  .  .  .  .  .  .  }
   296  .  .  .  .  .  .  .  .  .  .  .  .  Tag: nil
   297  .  .  .  .  .  .  .  .  .  .  .  .  Comment: nil
   298  .  .  .  .  .  .  .  .  .  .  .  }
   299  .  .  .  .  .  .  .  .  .  .  .  7: *ast.Field {
   300  .  .  .  .  .  .  .  .  .  .  .  .  Doc: nil
   301  .  .  .  .  .  .  .  .  .  .  .  .  Names: []*ast.Ident (len = 1) {
   302  .  .  .  .  .  .  .  .  .  .  .  .  .  0: *ast.Ident {
   303  .  .  .  .  .  .  .  .  .  .  .  .  .  .  NamePos: -
   304  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "serviceMu"
   305  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Obj: *ast.Object {
   306  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Kind: var
   307  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "serviceMu"
   308  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Decl: *(obj @ 299)
   309  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Data: nil
   310  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Type: nil
   311  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   312  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   313  .  .  .  .  .  .  .  .  .  .  .  .  }
   314  .  .  .  .  .  .  .  .  .  .  .  .  Type: *ast.SelectorExpr {
   315  .  .  .  .  .  .  .  .  .  .  .  .  .  X: *ast.Ident {
   316  .  .  .  .  .  .  .  .  .  .  .  .  .  .  NamePos: -
   317  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "sync"
   318  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Obj: nil
   319  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   320  .  .  .  .  .  .  .  .  .  .  .  .  .  Sel: *ast.Ident {
   321  .  .  .  .  .  .  .  .  .  .  .  .  .  .  NamePos: -
   322  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "RWMutex"
   323  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Obj: nil
   324  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   325  .  .  .  .  .  .  .  .  .  .  .  .  }
   326  .  .  .  .  .  .  .  .  .  .  .  .  Tag: nil
   327  .  .  .  .  .  .  .  .  .  .  .  .  Comment: nil
   328  .  .  .  .  .  .  .  .  .  .  .  }
   329  .  .  .  .  .  .  .  .  .  .  .  8: *ast.Field {
   330  .  .  .  .  .  .  .  .  .  .  .  .  Doc: nil
   331  .  .  .  .  .  .  .  .  .  .  .  .  Names: []*ast.Ident (len = 1) {
   332  .  .  .  .  .  .  .  .  .  .  .  .  .  0: *ast.Ident {
   333  .  .  .  .  .  .  .  .  .  .  .  .  .  .  NamePos: -
   334  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "services"
   335  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Obj: *ast.Object {
   336  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Kind: var
   337  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "services"
   338  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Decl: *(obj @ 329)
   339  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Data: nil
   340  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Type: nil
   341  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   342  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   343  .  .  .  .  .  .  .  .  .  .  .  .  }
   344  .  .  .  .  .  .  .  .  .  .  .  .  Type: *ast.MapType {
   345  .  .  .  .  .  .  .  .  .  .  .  .  .  Map: -
   346  .  .  .  .  .  .  .  .  .  .  .  .  .  Key: *ast.Ident {
   347  .  .  .  .  .  .  .  .  .  .  .  .  .  .  NamePos: -
   348  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "string"
   349  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Obj: nil
   350  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   351  .  .  .  .  .  .  .  .  .  .  .  .  .  Value: *ast.Ident {
   352  .  .  .  .  .  .  .  .  .  .  .  .  .  .  NamePos: -
   353  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "any"
   354  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Obj: nil
   355  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   356  .  .  .  .  .  .  .  .  .  .  .  .  }
   357  .  .  .  .  .  .  .  .  .  .  .  .  Tag: nil
   358  .  .  .  .  .  .  .  .  .  .  .  .  Comment: nil
   359  .  .  .  .  .  .  .  .  .  .  .  }
   360  .  .  .  .  .  .  .  .  .  .  .  9: *ast.Field {
   361  .  .  .  .  .  .  .  .  .  .  .  .  Doc: nil
   362  .  .  .  .  .  .  .  .  .  .  .  .  Names: []*ast.Ident (len = 1) {
   363  .  .  .  .  .  .  .  .  .  .  .  .  .  0: *ast.Ident {
   364  .  .  .  .  .  .  .  .  .  .  .  .  .  .  NamePos: -
   365  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "servicesLocked"
   366  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Obj: *ast.Object {
   367  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Kind: var
   368  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "servicesLocked"
   369  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Decl: *(obj @ 360)
   370  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Data: nil
   371  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Type: nil
   372  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   373  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   374  .  .  .  .  .  .  .  .  .  .  .  .  }
   375  .  .  .  .  .  .  .  .  .  .  .  .  Type: *ast.Ident {
   376  .  .  .  .  .  .  .  .  .  .  .  .  .  NamePos: -
   377  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "bool"
   378  .  .  .  .  .  .  .  .  .  .  .  .  .  Obj: nil
   379  .  .  .  .  .  .  .  .  .  .  .  .  }
   380  .  .  .  .  .  .  .  .  .  .  .  .  Tag: nil
   381  .  .  .  .  .  .  .  .  .  .  .  .  Comment: nil
   382  .  .  .  .  .  .  .  .  .  .  .  }
   383  .  .  .  .  .  .  .  .  .  .  }
   384  .  .  .  .  .  .  .  .  .  .  Closing: -
   385  .  .  .  .  .  .  .  .  .  }
   386  .  .  .  .  .  .  .  .  .  Incomplete: false
   387  .  .  .  .  .  .  .  .  }
   388  .  .  .  .  .  .  .  .  Comment: nil
   389  .  .  .  .  .  .  .  }
   390  .  .  .  .  .  .  .  Data: nil
   391  .  .  .  .  .  .  .  Type: nil
   392  .  .  .  .  .  .  }
   393  .  .  .  .  .  }
   394  .  .  .  .  }
   395  .  .  .  .  Tag: nil
   396  .  .  .  .  Comment: nil
   397  .  .  .  }
   398  .  .  }
   399  .  .  Closing: -
   400  .  }
   401  .  Results: *ast.FieldList {
   402  .  .  Opening: -
   403  .  .  List: []*ast.Field (len = 1) {
   404  .  .  .  0: *ast.Field {
   405  .  .  .  .  Doc: nil
   406  .  .  .  .  Names: nil
   407  .  .  .  .  Type: *ast.Ident {
   408  .  .  .  .  .  NamePos: -
   409  .  .  .  .  .  Name: "error"
   410  .  .  .  .  .  Obj: nil
   411  .  .  .  .  }
   412  .  .  .  .  Tag: nil
   413  .  .  .  .  Comment: nil
   414  .  .  .  }
   415  .  .  }
   416  .  .  Closing: -
   417  .  }
   418  }

type Runtime

type Runtime      0  *ast.StructType {
     1  .  Struct: -
     2  .  Fields: *ast.FieldList {
     3  .  .  Opening: -
     4  .  .  List: []*ast.Field (len = 2) {
     5  .  .  .  0: *ast.Field {
     6  .  .  .  .  Doc: nil
     7  .  .  .  .  Names: []*ast.Ident (len = 1) {
     8  .  .  .  .  .  0: *ast.Ident {
     9  .  .  .  .  .  .  NamePos: -
    10  .  .  .  .  .  .  Name: "core"
    11  .  .  .  .  .  .  Obj: *ast.Object {
    12  .  .  .  .  .  .  .  Kind: var
    13  .  .  .  .  .  .  .  Name: "core"
    14  .  .  .  .  .  .  .  Decl: *(obj @ 5)
    15  .  .  .  .  .  .  .  Data: nil
    16  .  .  .  .  .  .  .  Type: nil
    17  .  .  .  .  .  .  }
    18  .  .  .  .  .  }
    19  .  .  .  .  }
    20  .  .  .  .  Type: *ast.StarExpr {
    21  .  .  .  .  .  Star: -
    22  .  .  .  .  .  X: *ast.Ident {
    23  .  .  .  .  .  .  NamePos: -
    24  .  .  .  .  .  .  Name: "Core"
    25  .  .  .  .  .  .  Obj: nil
    26  .  .  .  .  .  }
    27  .  .  .  .  }
    28  .  .  .  .  Tag: nil
    29  .  .  .  .  Comment: nil
    30  .  .  .  }
    31  .  .  .  1: *ast.Field {
    32  .  .  .  .  Doc: nil
    33  .  .  .  .  Names: []*ast.Ident (len = 1) {
    34  .  .  .  .  .  0: *ast.Ident {
    35  .  .  .  .  .  .  NamePos: -
    36  .  .  .  .  .  .  Name: "opts"
    37  .  .  .  .  .  .  Obj: *ast.Object {
    38  .  .  .  .  .  .  .  Kind: var
    39  .  .  .  .  .  .  .  Name: "opts"
    40  .  .  .  .  .  .  .  Decl: *(obj @ 31)
    41  .  .  .  .  .  .  .  Data: nil
    42  .  .  .  .  .  .  .  Type: nil
    43  .  .  .  .  .  .  }
    44  .  .  .  .  .  }
    45  .  .  .  .  }
    46  .  .  .  .  Type: *ast.Ident {
    47  .  .  .  .  .  NamePos: -
    48  .  .  .  .  .  Name: "T"
    49  .  .  .  .  .  Obj: *ast.Object {
    50  .  .  .  .  .  .  Kind: type
    51  .  .  .  .  .  .  Name: "T"
    52  .  .  .  .  .  .  Decl: *ast.Field {
    53  .  .  .  .  .  .  .  Doc: nil
    54  .  .  .  .  .  .  .  Names: []*ast.Ident (len = 1) {
    55  .  .  .  .  .  .  .  .  0: *ast.Ident {
    56  .  .  .  .  .  .  .  .  .  NamePos: -
    57  .  .  .  .  .  .  .  .  .  Name: "T"
    58  .  .  .  .  .  .  .  .  .  Obj: *(obj @ 49)
    59  .  .  .  .  .  .  .  .  }
    60  .  .  .  .  .  .  .  }
    61  .  .  .  .  .  .  .  Type: *ast.Ident {
    62  .  .  .  .  .  .  .  .  NamePos: -
    63  .  .  .  .  .  .  .  .  Name: "any"
    64  .  .  .  .  .  .  .  .  Obj: nil
    65  .  .  .  .  .  .  .  }
    66  .  .  .  .  .  .  .  Tag: nil
    67  .  .  .  .  .  .  .  Comment: nil
    68  .  .  .  .  .  .  }
    69  .  .  .  .  .  .  Data: nil
    70  .  .  .  .  .  .  Type: nil
    71  .  .  .  .  .  }
    72  .  .  .  .  }
    73  .  .  .  .  Tag: nil
    74  .  .  .  .  Comment: nil
    75  .  .  .  }
    76  .  .  }
    77  .  .  Closing: -
    78  .  }
    79  .  Incomplete: false
    80  }

Runtime is a helper struct embedded in services to provide access to the core application.

Methods

  • Config() 0 *ast.Ident { 1 . NamePos: - 2 . Name: "Config" 3 . Obj: nil 4 } : Config returns the registered Config service from the core application.

  • Core() 0 *ast.StarExpr { 1 . Star: - 2 . X: *ast.Ident { 3 . . NamePos: - 4 . . Name: "Core" 5 . . Obj: nil 6 . } 7 } : Core returns the central core instance.

type WindowConfig

type WindowConfig      0  *ast.StructType {
     1  .  Struct: -
     2  .  Fields: *ast.FieldList {
     3  .  .  Opening: -
     4  .  .  List: []*ast.Field (len = 5) {
     5  .  .  .  0: *ast.Field {
     6  .  .  .  .  Doc: nil
     7  .  .  .  .  Names: []*ast.Ident (len = 1) {
     8  .  .  .  .  .  0: *ast.Ident {
     9  .  .  .  .  .  .  NamePos: -
    10  .  .  .  .  .  .  Name: "Name"
    11  .  .  .  .  .  .  Obj: *ast.Object {
    12  .  .  .  .  .  .  .  Kind: var
    13  .  .  .  .  .  .  .  Name: "Name"
    14  .  .  .  .  .  .  .  Decl: *(obj @ 5)
    15  .  .  .  .  .  .  .  Data: nil
    16  .  .  .  .  .  .  .  Type: nil
    17  .  .  .  .  .  .  }
    18  .  .  .  .  .  }
    19  .  .  .  .  }
    20  .  .  .  .  Type: *ast.Ident {
    21  .  .  .  .  .  NamePos: -
    22  .  .  .  .  .  Name: "string"
    23  .  .  .  .  .  Obj: nil
    24  .  .  .  .  }
    25  .  .  .  .  Tag: nil
    26  .  .  .  .  Comment: nil
    27  .  .  .  }
    28  .  .  .  1: *ast.Field {
    29  .  .  .  .  Doc: nil
    30  .  .  .  .  Names: []*ast.Ident (len = 1) {
    31  .  .  .  .  .  0: *ast.Ident {
    32  .  .  .  .  .  .  NamePos: -
    33  .  .  .  .  .  .  Name: "Title"
    34  .  .  .  .  .  .  Obj: *ast.Object {
    35  .  .  .  .  .  .  .  Kind: var
    36  .  .  .  .  .  .  .  Name: "Title"
    37  .  .  .  .  .  .  .  Decl: *(obj @ 28)
    38  .  .  .  .  .  .  .  Data: nil
    39  .  .  .  .  .  .  .  Type: nil
    40  .  .  .  .  .  .  }
    41  .  .  .  .  .  }
    42  .  .  .  .  }
    43  .  .  .  .  Type: *ast.Ident {
    44  .  .  .  .  .  NamePos: -
    45  .  .  .  .  .  Name: "string"
    46  .  .  .  .  .  Obj: nil
    47  .  .  .  .  }
    48  .  .  .  .  Tag: nil
    49  .  .  .  .  Comment: nil
    50  .  .  .  }
    51  .  .  .  2: *ast.Field {
    52  .  .  .  .  Doc: nil
    53  .  .  .  .  Names: []*ast.Ident (len = 1) {
    54  .  .  .  .  .  0: *ast.Ident {
    55  .  .  .  .  .  .  NamePos: -
    56  .  .  .  .  .  .  Name: "URL"
    57  .  .  .  .  .  .  Obj: *ast.Object {
    58  .  .  .  .  .  .  .  Kind: var
    59  .  .  .  .  .  .  .  Name: "URL"
    60  .  .  .  .  .  .  .  Decl: *(obj @ 51)
    61  .  .  .  .  .  .  .  Data: nil
    62  .  .  .  .  .  .  .  Type: nil
    63  .  .  .  .  .  .  }
    64  .  .  .  .  .  }
    65  .  .  .  .  }
    66  .  .  .  .  Type: *ast.Ident {
    67  .  .  .  .  .  NamePos: -
    68  .  .  .  .  .  Name: "string"
    69  .  .  .  .  .  Obj: nil
    70  .  .  .  .  }
    71  .  .  .  .  Tag: nil
    72  .  .  .  .  Comment: nil
    73  .  .  .  }
    74  .  .  .  3: *ast.Field {
    75  .  .  .  .  Doc: nil
    76  .  .  .  .  Names: []*ast.Ident (len = 1) {
    77  .  .  .  .  .  0: *ast.Ident {
    78  .  .  .  .  .  .  NamePos: -
    79  .  .  .  .  .  .  Name: "Width"
    80  .  .  .  .  .  .  Obj: *ast.Object {
    81  .  .  .  .  .  .  .  Kind: var
    82  .  .  .  .  .  .  .  Name: "Width"
    83  .  .  .  .  .  .  .  Decl: *(obj @ 74)
    84  .  .  .  .  .  .  .  Data: nil
    85  .  .  .  .  .  .  .  Type: nil
    86  .  .  .  .  .  .  }
    87  .  .  .  .  .  }
    88  .  .  .  .  }
    89  .  .  .  .  Type: *ast.Ident {
    90  .  .  .  .  .  NamePos: -
    91  .  .  .  .  .  Name: "int"
    92  .  .  .  .  .  Obj: nil
    93  .  .  .  .  }
    94  .  .  .  .  Tag: nil
    95  .  .  .  .  Comment: nil
    96  .  .  .  }
    97  .  .  .  4: *ast.Field {
    98  .  .  .  .  Doc: nil
    99  .  .  .  .  Names: []*ast.Ident (len = 1) {
   100  .  .  .  .  .  0: *ast.Ident {
   101  .  .  .  .  .  .  NamePos: -
   102  .  .  .  .  .  .  Name: "Height"
   103  .  .  .  .  .  .  Obj: *ast.Object {
   104  .  .  .  .  .  .  .  Kind: var
   105  .  .  .  .  .  .  .  Name: "Height"
   106  .  .  .  .  .  .  .  Decl: *(obj @ 97)
   107  .  .  .  .  .  .  .  Data: nil
   108  .  .  .  .  .  .  .  Type: nil
   109  .  .  .  .  .  .  }
   110  .  .  .  .  .  }
   111  .  .  .  .  }
   112  .  .  .  .  Type: *ast.Ident {
   113  .  .  .  .  .  NamePos: -
   114  .  .  .  .  .  Name: "int"
   115  .  .  .  .  .  Obj: nil
   116  .  .  .  .  }
   117  .  .  .  .  Tag: nil
   118  .  .  .  .  Comment: *ast.CommentGroup {
   119  .  .  .  .  .  List: []*ast.Comment (len = 1) {
   120  .  .  .  .  .  .  0: *ast.Comment {
   121  .  .  .  .  .  .  .  Slash: -
   122  .  .  .  .  .  .  .  Text: "// Add other common window options here as needed"
   123  .  .  .  .  .  .  }
   124  .  .  .  .  .  }
   125  .  .  .  .  }
   126  .  .  .  }
   127  .  .  }
   128  .  .  Closing: -
   129  .  }
   130  .  Incomplete: false
   131  }

WindowConfig represents the configuration for a window.

type WindowOption

type WindowOption      0  *ast.InterfaceType {
     1  .  Interface: -
     2  .  Methods: *ast.FieldList {
     3  .  .  Opening: -
     4  .  .  List: []*ast.Field (len = 1) {
     5  .  .  .  0: *ast.Field {
     6  .  .  .  .  Doc: nil
     7  .  .  .  .  Names: []*ast.Ident (len = 1) {
     8  .  .  .  .  .  0: *ast.Ident {
     9  .  .  .  .  .  .  NamePos: -
    10  .  .  .  .  .  .  Name: "Apply"
    11  .  .  .  .  .  .  Obj: *ast.Object {
    12  .  .  .  .  .  .  .  Kind: func
    13  .  .  .  .  .  .  .  Name: "Apply"
    14  .  .  .  .  .  .  .  Decl: *(obj @ 5)
    15  .  .  .  .  .  .  .  Data: nil
    16  .  .  .  .  .  .  .  Type: nil
    17  .  .  .  .  .  .  }
    18  .  .  .  .  .  }
    19  .  .  .  .  }
    20  .  .  .  .  Type: *ast.FuncType {
    21  .  .  .  .  .  Func: -
    22  .  .  .  .  .  TypeParams: nil
    23  .  .  .  .  .  Params: *ast.FieldList {
    24  .  .  .  .  .  .  Opening: -
    25  .  .  .  .  .  .  List: []*ast.Field (len = 1) {
    26  .  .  .  .  .  .  .  0: *ast.Field {
    27  .  .  .  .  .  .  .  .  Doc: nil
    28  .  .  .  .  .  .  .  .  Names: nil
    29  .  .  .  .  .  .  .  .  Type: *ast.StarExpr {
    30  .  .  .  .  .  .  .  .  .  Star: -
    31  .  .  .  .  .  .  .  .  .  X: *ast.Ident {
    32  .  .  .  .  .  .  .  .  .  .  NamePos: -
    33  .  .  .  .  .  .  .  .  .  .  Name: "WindowConfig"
    34  .  .  .  .  .  .  .  .  .  .  Obj: *ast.Object {
    35  .  .  .  .  .  .  .  .  .  .  .  Kind: type
    36  .  .  .  .  .  .  .  .  .  .  .  Name: "WindowConfig"
    37  .  .  .  .  .  .  .  .  .  .  .  Decl: *ast.TypeSpec {
    38  .  .  .  .  .  .  .  .  .  .  .  .  Doc: nil
    39  .  .  .  .  .  .  .  .  .  .  .  .  Name: *ast.Ident {
    40  .  .  .  .  .  .  .  .  .  .  .  .  .  NamePos: -
    41  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "WindowConfig"
    42  .  .  .  .  .  .  .  .  .  .  .  .  .  Obj: *(obj @ 34)
    43  .  .  .  .  .  .  .  .  .  .  .  .  }
    44  .  .  .  .  .  .  .  .  .  .  .  .  TypeParams: nil
    45  .  .  .  .  .  .  .  .  .  .  .  .  Assign: -
    46  .  .  .  .  .  .  .  .  .  .  .  .  Type: *ast.StructType {
    47  .  .  .  .  .  .  .  .  .  .  .  .  .  Struct: -
    48  .  .  .  .  .  .  .  .  .  .  .  .  .  Fields: *ast.FieldList {
    49  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Opening: -
    50  .  .  .  .  .  .  .  .  .  .  .  .  .  .  List: []*ast.Field (len = 5) {
    51  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  0: *ast.Field {
    52  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Doc: nil
    53  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Names: []*ast.Ident (len = 1) {
    54  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  0: *ast.Ident {
    55  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  NamePos: -
    56  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "Name"
    57  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Obj: *ast.Object {
    58  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Kind: var
    59  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "Name"
    60  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Decl: *(obj @ 51)
    61  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Data: nil
    62  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Type: nil
    63  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
    64  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
    65  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
    66  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Type: *ast.Ident {
    67  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  NamePos: -
    68  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "string"
    69  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Obj: nil
    70  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
    71  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Tag: nil
    72  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Comment: nil
    73  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
    74  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  1: *ast.Field {
    75  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Doc: nil
    76  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Names: []*ast.Ident (len = 1) {
    77  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  0: *ast.Ident {
    78  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  NamePos: -
    79  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "Title"
    80  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Obj: *ast.Object {
    81  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Kind: var
    82  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "Title"
    83  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Decl: *(obj @ 74)
    84  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Data: nil
    85  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Type: nil
    86  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
    87  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
    88  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
    89  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Type: *ast.Ident {
    90  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  NamePos: -
    91  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "string"
    92  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Obj: nil
    93  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
    94  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Tag: nil
    95  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Comment: nil
    96  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
    97  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  2: *ast.Field {
    98  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Doc: nil
    99  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Names: []*ast.Ident (len = 1) {
   100  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  0: *ast.Ident {
   101  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  NamePos: -
   102  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "URL"
   103  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Obj: *ast.Object {
   104  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Kind: var
   105  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "URL"
   106  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Decl: *(obj @ 97)
   107  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Data: nil
   108  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Type: nil
   109  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   110  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   111  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   112  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Type: *ast.Ident {
   113  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  NamePos: -
   114  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "string"
   115  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Obj: nil
   116  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   117  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Tag: nil
   118  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Comment: nil
   119  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   120  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  3: *ast.Field {
   121  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Doc: nil
   122  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Names: []*ast.Ident (len = 1) {
   123  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  0: *ast.Ident {
   124  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  NamePos: -
   125  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "Width"
   126  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Obj: *ast.Object {
   127  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Kind: var
   128  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "Width"
   129  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Decl: *(obj @ 120)
   130  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Data: nil
   131  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Type: nil
   132  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   133  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   134  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   135  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Type: *ast.Ident {
   136  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  NamePos: -
   137  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "int"
   138  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Obj: nil
   139  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   140  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Tag: nil
   141  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Comment: nil
   142  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   143  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  4: *ast.Field {
   144  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Doc: nil
   145  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Names: []*ast.Ident (len = 1) {
   146  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  0: *ast.Ident {
   147  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  NamePos: -
   148  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "Height"
   149  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Obj: *ast.Object {
   150  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Kind: var
   151  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "Height"
   152  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Decl: *(obj @ 143)
   153  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Data: nil
   154  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Type: nil
   155  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   156  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   157  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   158  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Type: *ast.Ident {
   159  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  NamePos: -
   160  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Name: "int"
   161  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Obj: nil
   162  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   163  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Tag: nil
   164  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Comment: *ast.CommentGroup {
   165  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  List: []*ast.Comment (len = 1) {
   166  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  0: *ast.Comment {
   167  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Slash: -
   168  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Text: "// Add other common window options here as needed"
   169  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   170  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   171  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   172  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   173  .  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   174  .  .  .  .  .  .  .  .  .  .  .  .  .  .  Closing: -
   175  .  .  .  .  .  .  .  .  .  .  .  .  .  }
   176  .  .  .  .  .  .  .  .  .  .  .  .  .  Incomplete: false
   177  .  .  .  .  .  .  .  .  .  .  .  .  }
   178  .  .  .  .  .  .  .  .  .  .  .  .  Comment: nil
   179  .  .  .  .  .  .  .  .  .  .  .  }
   180  .  .  .  .  .  .  .  .  .  .  .  Data: nil
   181  .  .  .  .  .  .  .  .  .  .  .  Type: nil
   182  .  .  .  .  .  .  .  .  .  .  }
   183  .  .  .  .  .  .  .  .  .  }
   184  .  .  .  .  .  .  .  .  }
   185  .  .  .  .  .  .  .  .  Tag: nil
   186  .  .  .  .  .  .  .  .  Comment: nil
   187  .  .  .  .  .  .  .  }
   188  .  .  .  .  .  .  }
   189  .  .  .  .  .  .  Closing: -
   190  .  .  .  .  .  }
   191  .  .  .  .  .  Results: nil
   192  .  .  .  .  }
   193  .  .  .  .  Tag: nil
   194  .  .  .  .  Comment: nil
   195  .  .  .  }
   196  .  .  }
   197  .  .  Closing: -
   198  .  }
   199  .  Incomplete: false
   200  }

WindowOption configures window creation.

type Workspace

type Workspace      0  *ast.InterfaceType {
     1  .  Interface: -
     2  .  Methods: *ast.FieldList {
     3  .  .  Opening: -
     4  .  .  List: []*ast.Field (len = 4) {
     5  .  .  .  0: *ast.Field {
     6  .  .  .  .  Doc: nil
     7  .  .  .  .  Names: []*ast.Ident (len = 1) {
     8  .  .  .  .  .  0: *ast.Ident {
     9  .  .  .  .  .  .  NamePos: -
    10  .  .  .  .  .  .  Name: "CreateWorkspace"
    11  .  .  .  .  .  .  Obj: *ast.Object {
    12  .  .  .  .  .  .  .  Kind: func
    13  .  .  .  .  .  .  .  Name: "CreateWorkspace"
    14  .  .  .  .  .  .  .  Decl: *(obj @ 5)
    15  .  .  .  .  .  .  .  Data: nil
    16  .  .  .  .  .  .  .  Type: nil
    17  .  .  .  .  .  .  }
    18  .  .  .  .  .  }
    19  .  .  .  .  }
    20  .  .  .  .  Type: *ast.FuncType {
    21  .  .  .  .  .  Func: -
    22  .  .  .  .  .  TypeParams: nil
    23  .  .  .  .  .  Params: *ast.FieldList {
    24  .  .  .  .  .  .  Opening: -
    25  .  .  .  .  .  .  List: []*ast.Field (len = 1) {
    26  .  .  .  .  .  .  .  0: *ast.Field {
    27  .  .  .  .  .  .  .  .  Doc: nil
    28  .  .  .  .  .  .  .  .  Names: []*ast.Ident (len = 2) {
    29  .  .  .  .  .  .  .  .  .  0: *ast.Ident {
    30  .  .  .  .  .  .  .  .  .  .  NamePos: -
    31  .  .  .  .  .  .  .  .  .  .  Name: "identifier"
    32  .  .  .  .  .  .  .  .  .  .  Obj: *ast.Object {
    33  .  .  .  .  .  .  .  .  .  .  .  Kind: var
    34  .  .  .  .  .  .  .  .  .  .  .  Name: "identifier"
    35  .  .  .  .  .  .  .  .  .  .  .  Decl: *(obj @ 26)
    36  .  .  .  .  .  .  .  .  .  .  .  Data: nil
    37  .  .  .  .  .  .  .  .  .  .  .  Type: nil
    38  .  .  .  .  .  .  .  .  .  .  }
    39  .  .  .  .  .  .  .  .  .  }
    40  .  .  .  .  .  .  .  .  .  1: *ast.Ident {
    41  .  .  .  .  .  .  .  .  .  .  NamePos: -
    42  .  .  .  .  .  .  .  .  .  .  Name: "password"
    43  .  .  .  .  .  .  .  .  .  .  Obj: *ast.Object {
    44  .  .  .  .  .  .  .  .  .  .  .  Kind: var
    45  .  .  .  .  .  .  .  .  .  .  .  Name: "password"
    46  .  .  .  .  .  .  .  .  .  .  .  Decl: *(obj @ 26)
    47  .  .  .  .  .  .  .  .  .  .  .  Data: nil
    48  .  .  .  .  .  .  .  .  .  .  .  Type: nil
    49  .  .  .  .  .  .  .  .  .  .  }
    50  .  .  .  .  .  .  .  .  .  }
    51  .  .  .  .  .  .  .  .  }
    52  .  .  .  .  .  .  .  .  Type: *ast.Ident {
    53  .  .  .  .  .  .  .  .  .  NamePos: -
    54  .  .  .  .  .  .  .  .  .  Name: "string"
    55  .  .  .  .  .  .  .  .  .  Obj: nil
    56  .  .  .  .  .  .  .  .  }
    57  .  .  .  .  .  .  .  .  Tag: nil
    58  .  .  .  .  .  .  .  .  Comment: nil
    59  .  .  .  .  .  .  .  }
    60  .  .  .  .  .  .  }
    61  .  .  .  .  .  .  Closing: -
    62  .  .  .  .  .  }
    63  .  .  .  .  .  Results: *ast.FieldList {
    64  .  .  .  .  .  .  Opening: -
    65  .  .  .  .  .  .  List: []*ast.Field (len = 2) {
    66  .  .  .  .  .  .  .  0: *ast.Field {
    67  .  .  .  .  .  .  .  .  Doc: nil
    68  .  .  .  .  .  .  .  .  Names: nil
    69  .  .  .  .  .  .  .  .  Type: *ast.Ident {
    70  .  .  .  .  .  .  .  .  .  NamePos: -
    71  .  .  .  .  .  .  .  .  .  Name: "string"
    72  .  .  .  .  .  .  .  .  .  Obj: nil
    73  .  .  .  .  .  .  .  .  }
    74  .  .  .  .  .  .  .  .  Tag: nil
    75  .  .  .  .  .  .  .  .  Comment: nil
    76  .  .  .  .  .  .  .  }
    77  .  .  .  .  .  .  .  1: *ast.Field {
    78  .  .  .  .  .  .  .  .  Doc: nil
    79  .  .  .  .  .  .  .  .  Names: nil
    80  .  .  .  .  .  .  .  .  Type: *ast.Ident {
    81  .  .  .  .  .  .  .  .  .  NamePos: -
    82  .  .  .  .  .  .  .  .  .  Name: "error"
    83  .  .  .  .  .  .  .  .  .  Obj: nil
    84  .  .  .  .  .  .  .  .  }
    85  .  .  .  .  .  .  .  .  Tag: nil
    86  .  .  .  .  .  .  .  .  Comment: nil
    87  .  .  .  .  .  .  .  }
    88  .  .  .  .  .  .  }
    89  .  .  .  .  .  .  Closing: -
    90  .  .  .  .  .  }
    91  .  .  .  .  }
    92  .  .  .  .  Tag: nil
    93  .  .  .  .  Comment: nil
    94  .  .  .  }
    95  .  .  .  1: *ast.Field {
    96  .  .  .  .  Doc: nil
    97  .  .  .  .  Names: []*ast.Ident (len = 1) {
    98  .  .  .  .  .  0: *ast.Ident {
    99  .  .  .  .  .  .  NamePos: -
   100  .  .  .  .  .  .  Name: "SwitchWorkspace"
   101  .  .  .  .  .  .  Obj: *ast.Object {
   102  .  .  .  .  .  .  .  Kind: func
   103  .  .  .  .  .  .  .  Name: "SwitchWorkspace"
   104  .  .  .  .  .  .  .  Decl: *(obj @ 95)
   105  .  .  .  .  .  .  .  Data: nil
   106  .  .  .  .  .  .  .  Type: nil
   107  .  .  .  .  .  .  }
   108  .  .  .  .  .  }
   109  .  .  .  .  }
   110  .  .  .  .  Type: *ast.FuncType {
   111  .  .  .  .  .  Func: -
   112  .  .  .  .  .  TypeParams: nil
   113  .  .  .  .  .  Params: *ast.FieldList {
   114  .  .  .  .  .  .  Opening: -
   115  .  .  .  .  .  .  List: []*ast.Field (len = 1) {
   116  .  .  .  .  .  .  .  0: *ast.Field {
   117  .  .  .  .  .  .  .  .  Doc: nil
   118  .  .  .  .  .  .  .  .  Names: []*ast.Ident (len = 1) {
   119  .  .  .  .  .  .  .  .  .  0: *ast.Ident {
   120  .  .  .  .  .  .  .  .  .  .  NamePos: -
   121  .  .  .  .  .  .  .  .  .  .  Name: "name"
   122  .  .  .  .  .  .  .  .  .  .  Obj: *ast.Object {
   123  .  .  .  .  .  .  .  .  .  .  .  Kind: var
   124  .  .  .  .  .  .  .  .  .  .  .  Name: "name"
   125  .  .  .  .  .  .  .  .  .  .  .  Decl: *(obj @ 116)
   126  .  .  .  .  .  .  .  .  .  .  .  Data: nil
   127  .  .  .  .  .  .  .  .  .  .  .  Type: nil
   128  .  .  .  .  .  .  .  .  .  .  }
   129  .  .  .  .  .  .  .  .  .  }
   130  .  .  .  .  .  .  .  .  }
   131  .  .  .  .  .  .  .  .  Type: *ast.Ident {
   132  .  .  .  .  .  .  .  .  .  NamePos: -
   133  .  .  .  .  .  .  .  .  .  Name: "string"
   134  .  .  .  .  .  .  .  .  .  Obj: nil
   135  .  .  .  .  .  .  .  .  }
   136  .  .  .  .  .  .  .  .  Tag: nil
   137  .  .  .  .  .  .  .  .  Comment: nil
   138  .  .  .  .  .  .  .  }
   139  .  .  .  .  .  .  }
   140  .  .  .  .  .  .  Closing: -
   141  .  .  .  .  .  }
   142  .  .  .  .  .  Results: *ast.FieldList {
   143  .  .  .  .  .  .  Opening: -
   144  .  .  .  .  .  .  List: []*ast.Field (len = 1) {
   145  .  .  .  .  .  .  .  0: *ast.Field {
   146  .  .  .  .  .  .  .  .  Doc: nil
   147  .  .  .  .  .  .  .  .  Names: nil
   148  .  .  .  .  .  .  .  .  Type: *ast.Ident {
   149  .  .  .  .  .  .  .  .  .  NamePos: -
   150  .  .  .  .  .  .  .  .  .  Name: "error"
   151  .  .  .  .  .  .  .  .  .  Obj: nil
   152  .  .  .  .  .  .  .  .  }
   153  .  .  .  .  .  .  .  .  Tag: nil
   154  .  .  .  .  .  .  .  .  Comment: nil
   155  .  .  .  .  .  .  .  }
   156  .  .  .  .  .  .  }
   157  .  .  .  .  .  .  Closing: -
   158  .  .  .  .  .  }
   159  .  .  .  .  }
   160  .  .  .  .  Tag: nil
   161  .  .  .  .  Comment: nil
   162  .  .  .  }
   163  .  .  .  2: *ast.Field {
   164  .  .  .  .  Doc: nil
   165  .  .  .  .  Names: []*ast.Ident (len = 1) {
   166  .  .  .  .  .  0: *ast.Ident {
   167  .  .  .  .  .  .  NamePos: -
   168  .  .  .  .  .  .  Name: "WorkspaceFileGet"
   169  .  .  .  .  .  .  Obj: *ast.Object {
   170  .  .  .  .  .  .  .  Kind: func
   171  .  .  .  .  .  .  .  Name: "WorkspaceFileGet"
   172  .  .  .  .  .  .  .  Decl: *(obj @ 163)
   173  .  .  .  .  .  .  .  Data: nil
   174  .  .  .  .  .  .  .  Type: nil
   175  .  .  .  .  .  .  }
   176  .  .  .  .  .  }
   177  .  .  .  .  }
   178  .  .  .  .  Type: *ast.FuncType {
   179  .  .  .  .  .  Func: -
   180  .  .  .  .  .  TypeParams: nil
   181  .  .  .  .  .  Params: *ast.FieldList {
   182  .  .  .  .  .  .  Opening: -
   183  .  .  .  .  .  .  List: []*ast.Field (len = 1) {
   184  .  .  .  .  .  .  .  0: *ast.Field {
   185  .  .  .  .  .  .  .  .  Doc: nil
   186  .  .  .  .  .  .  .  .  Names: []*ast.Ident (len = 1) {
   187  .  .  .  .  .  .  .  .  .  0: *ast.Ident {
   188  .  .  .  .  .  .  .  .  .  .  NamePos: -
   189  .  .  .  .  .  .  .  .  .  .  Name: "filename"
   190  .  .  .  .  .  .  .  .  .  .  Obj: *ast.Object {
   191  .  .  .  .  .  .  .  .  .  .  .  Kind: var
   192  .  .  .  .  .  .  .  .  .  .  .  Name: "filename"
   193  .  .  .  .  .  .  .  .  .  .  .  Decl: *(obj @ 184)
   194  .  .  .  .  .  .  .  .  .  .  .  Data: nil
   195  .  .  .  .  .  .  .  .  .  .  .  Type: nil
   196  .  .  .  .  .  .  .  .  .  .  }
   197  .  .  .  .  .  .  .  .  .  }
   198  .  .  .  .  .  .  .  .  }
   199  .  .  .  .  .  .  .  .  Type: *ast.Ident {
   200  .  .  .  .  .  .  .  .  .  NamePos: -
   201  .  .  .  .  .  .  .  .  .  Name: "string"
   202  .  .  .  .  .  .  .  .  .  Obj: nil
   203  .  .  .  .  .  .  .  .  }
   204  .  .  .  .  .  .  .  .  Tag: nil
   205  .  .  .  .  .  .  .  .  Comment: nil
   206  .  .  .  .  .  .  .  }
   207  .  .  .  .  .  .  }
   208  .  .  .  .  .  .  Closing: -
   209  .  .  .  .  .  }
   210  .  .  .  .  .  Results: *ast.FieldList {
   211  .  .  .  .  .  .  Opening: -
   212  .  .  .  .  .  .  List: []*ast.Field (len = 2) {
   213  .  .  .  .  .  .  .  0: *ast.Field {
   214  .  .  .  .  .  .  .  .  Doc: nil
   215  .  .  .  .  .  .  .  .  Names: nil
   216  .  .  .  .  .  .  .  .  Type: *ast.Ident {
   217  .  .  .  .  .  .  .  .  .  NamePos: -
   218  .  .  .  .  .  .  .  .  .  Name: "string"
   219  .  .  .  .  .  .  .  .  .  Obj: nil
   220  .  .  .  .  .  .  .  .  }
   221  .  .  .  .  .  .  .  .  Tag: nil
   222  .  .  .  .  .  .  .  .  Comment: nil
   223  .  .  .  .  .  .  .  }
   224  .  .  .  .  .  .  .  1: *ast.Field {
   225  .  .  .  .  .  .  .  .  Doc: nil
   226  .  .  .  .  .  .  .  .  Names: nil
   227  .  .  .  .  .  .  .  .  Type: *ast.Ident {
   228  .  .  .  .  .  .  .  .  .  NamePos: -
   229  .  .  .  .  .  .  .  .  .  Name: "error"
   230  .  .  .  .  .  .  .  .  .  Obj: nil
   231  .  .  .  .  .  .  .  .  }
   232  .  .  .  .  .  .  .  .  Tag: nil
   233  .  .  .  .  .  .  .  .  Comment: nil
   234  .  .  .  .  .  .  .  }
   235  .  .  .  .  .  .  }
   236  .  .  .  .  .  .  Closing: -
   237  .  .  .  .  .  }
   238  .  .  .  .  }
   239  .  .  .  .  Tag: nil
   240  .  .  .  .  Comment: nil
   241  .  .  .  }
   242  .  .  .  3: *ast.Field {
   243  .  .  .  .  Doc: nil
   244  .  .  .  .  Names: []*ast.Ident (len = 1) {
   245  .  .  .  .  .  0: *ast.Ident {
   246  .  .  .  .  .  .  NamePos: -
   247  .  .  .  .  .  .  Name: "WorkspaceFileSet"
   248  .  .  .  .  .  .  Obj: *ast.Object {
   249  .  .  .  .  .  .  .  Kind: func
   250  .  .  .  .  .  .  .  Name: "WorkspaceFileSet"
   251  .  .  .  .  .  .  .  Decl: *(obj @ 242)
   252  .  .  .  .  .  .  .  Data: nil
   253  .  .  .  .  .  .  .  Type: nil
   254  .  .  .  .  .  .  }
   255  .  .  .  .  .  }
   256  .  .  .  .  }
   257  .  .  .  .  Type: *ast.FuncType {
   258  .  .  .  .  .  Func: -
   259  .  .  .  .  .  TypeParams: nil
   260  .  .  .  .  .  Params: *ast.FieldList {
   261  .  .  .  .  .  .  Opening: -
   262  .  .  .  .  .  .  List: []*ast.Field (len = 1) {
   263  .  .  .  .  .  .  .  0: *ast.Field {
   264  .  .  .  .  .  .  .  .  Doc: nil
   265  .  .  .  .  .  .  .  .  Names: []*ast.Ident (len = 2) {
   266  .  .  .  .  .  .  .  .  .  0: *ast.Ident {
   267  .  .  .  .  .  .  .  .  .  .  NamePos: -
   268  .  .  .  .  .  .  .  .  .  .  Name: "filename"
   269  .  .  .  .  .  .  .  .  .  .  Obj: *ast.Object {
   270  .  .  .  .  .  .  .  .  .  .  .  Kind: var
   271  .  .  .  .  .  .  .  .  .  .  .  Name: "filename"
   272  .  .  .  .  .  .  .  .  .  .  .  Decl: *(obj @ 263)
   273  .  .  .  .  .  .  .  .  .  .  .  Data: nil
   274  .  .  .  .  .  .  .  .  .  .  .  Type: nil
   275  .  .  .  .  .  .  .  .  .  .  }
   276  .  .  .  .  .  .  .  .  .  }
   277  .  .  .  .  .  .  .  .  .  1: *ast.Ident {
   278  .  .  .  .  .  .  .  .  .  .  NamePos: -
   279  .  .  .  .  .  .  .  .  .  .  Name: "content"
   280  .  .  .  .  .  .  .  .  .  .  Obj: *ast.Object {
   281  .  .  .  .  .  .  .  .  .  .  .  Kind: var
   282  .  .  .  .  .  .  .  .  .  .  .  Name: "content"
   283  .  .  .  .  .  .  .  .  .  .  .  Decl: *(obj @ 263)
   284  .  .  .  .  .  .  .  .  .  .  .  Data: nil
   285  .  .  .  .  .  .  .  .  .  .  .  Type: nil
   286  .  .  .  .  .  .  .  .  .  .  }
   287  .  .  .  .  .  .  .  .  .  }
   288  .  .  .  .  .  .  .  .  }
   289  .  .  .  .  .  .  .  .  Type: *ast.Ident {
   290  .  .  .  .  .  .  .  .  .  NamePos: -
   291  .  .  .  .  .  .  .  .  .  Name: "string"
   292  .  .  .  .  .  .  .  .  .  Obj: nil
   293  .  .  .  .  .  .  .  .  }
   294  .  .  .  .  .  .  .  .  Tag: nil
   295  .  .  .  .  .  .  .  .  Comment: nil
   296  .  .  .  .  .  .  .  }
   297  .  .  .  .  .  .  }
   298  .  .  .  .  .  .  Closing: -
   299  .  .  .  .  .  }
   300  .  .  .  .  .  Results: *ast.FieldList {
   301  .  .  .  .  .  .  Opening: -
   302  .  .  .  .  .  .  List: []*ast.Field (len = 1) {
   303  .  .  .  .  .  .  .  0: *ast.Field {
   304  .  .  .  .  .  .  .  .  Doc: nil
   305  .  .  .  .  .  .  .  .  Names: nil
   306  .  .  .  .  .  .  .  .  Type: *ast.Ident {
   307  .  .  .  .  .  .  .  .  .  NamePos: -
   308  .  .  .  .  .  .  .  .  .  Name: "error"
   309  .  .  .  .  .  .  .  .  .  Obj: nil
   310  .  .  .  .  .  .  .  .  }
   311  .  .  .  .  .  .  .  .  Tag: nil
   312  .  .  .  .  .  .  .  .  Comment: nil
   313  .  .  .  .  .  .  .  }
   314  .  .  .  .  .  .  }
   315  .  .  .  .  .  .  Closing: -
   316  .  .  .  .  .  }
   317  .  .  .  .  }
   318  .  .  .  .  Tag: nil
   319  .  .  .  .  Comment: nil
   320  .  .  .  }
   321  .  .  }
   322  .  .  Closing: -
   323  .  }
   324  .  Incomplete: false
   325  }

Workspace manages user workspaces.

Functions

  • App() 0 *ast.StarExpr { 1 . Star: - 2 . X: *ast.SelectorExpr { 3 . . X: *ast.Ident { 4 . . . NamePos: - 5 . . . Name: "application" 6 . . . Obj: nil 7 . . } 8 . . Sel: *ast.Ident { 9 . . . NamePos: - 10 . . . Name: "App" 11 . . . Obj: nil 12 . . } 13 . } 14 } : App returns the global application instance.

  • MustServiceFor(c 0 *ast.StarExpr { 1 . Star: - 2 . X: *ast.Ident { 3 . . NamePos: - 4 . . Name: "Core" 5 . . Obj: nil 6 . } 7 } , name 0 *ast.Ident { 1 . NamePos: - 2 . Name: "string" 3 . Obj: nil 4 } ) 0 *ast.Ident { 1 . NamePos: - 2 . Name: "T" 3 . Obj: *ast.Object { 4 . . Kind: type 5 . . Name: "T" 6 . . Decl: *ast.Field { 7 . . . Doc: nil 8 . . . Names: []*ast.Ident (len = 1) { 9 . . . . 0: *ast.Ident { 10 . . . . . NamePos: - 11 . . . . . Name: "T" 12 . . . . . Obj: *(obj @ 3) 13 . . . . } 14 . . . } 15 . . . Type: *ast.Ident { 16 . . . . NamePos: - 17 . . . . Name: "any" 18 . . . . Obj: nil 19 . . . } 20 . . . Tag: nil 21 . . . Comment: nil 22 . . } 23 . . Data: nil 24 . . Type: nil 25 . } 26 } : MustServiceFor retrieves a registered service by name and asserts its type to the given interface T. It panics if the service is not found or cannot be cast to T.

  • ServiceFor(c 0 *ast.StarExpr { 1 . Star: - 2 . X: *ast.Ident { 3 . . NamePos: - 4 . . Name: "Core" 5 . . Obj: nil 6 . } 7 } , name 0 *ast.Ident { 1 . NamePos: - 2 . Name: "string" 3 . Obj: nil 4 } ) 0 *ast.Ident { 1 . NamePos: - 2 . Name: "T" 3 . Obj: *ast.Object { 4 . . Kind: type 5 . . Name: "T" 6 . . Decl: *ast.Field { 7 . . . Doc: nil 8 . . . Names: []*ast.Ident (len = 1) { 9 . . . . 0: *ast.Ident { 10 . . . . . NamePos: - 11 . . . . . Name: "T" 12 . . . . . Obj: *(obj @ 3) 13 . . . . } 14 . . . } 15 . . . Type: *ast.Ident { 16 . . . . NamePos: - 17 . . . . Name: "any" 18 . . . . Obj: nil 19 . . . } 20 . . . Tag: nil 21 . . . Comment: nil 22 . . } 23 . . Data: nil 24 . . Type: nil 25 . } 26 } , 0 *ast.Ident { 1 . NamePos: - 2 . Name: "error" 3 . Obj: nil 4 } : ServiceFor retrieves a registered service by name and asserts its type to the given interface T.