* Initial plan * Remove TileView and refactor to use View.Arrangement Co-authored-by: tig <585482+tig@users.noreply.github.com> * Fix FileDialog container focus behavior - all tests passing Co-authored-by: tig <585482+tig@users.noreply.github.com> * Remove obsolete TileView comment from View.Hierarchy.cs Co-authored-by: tig <585482+tig@users.noreply.github.com> * Add resizable splitter example to View.Arrangement docs Co-authored-by: tig <585482+tig@users.noreply.github.com> * Refactored `TreeView` and `TableView` containersto use View.Arrangment. Removed unused `_btnToggleSplitterCollapse` and related logic due to the new splitter design. Simplified collection initialization and feedback/state handling. Improved code readability by replacing magic strings and redundant null checks. Refactor FileDialog for null safety and UI improvements Enabled nullable reference types to improve null safety across the codebase. Refactored constants to follow uppercase naming conventions. Introduced nullable annotations for fields and method parameters. Updated test cases to reflect the removal of deprecated features. Skipped tests related to the removed splitter button. Made miscellaneous improvements, including adding comments and suppressing warnings. * Add "_Find:" label to FileDialog search field Co-authored-by: tig <585482+tig@users.noreply.github.com> * Fixes Parallel unit test intermittent failure case. Removed the initialization of the `Navigation` object in the `ResetState` method of the `Application` class, indicating a potential shift in its lifecycle management. Enhanced comments to clarify the role of `Shutdown` as a counterpart to `Init`, emphasizing resource cleanup and defensive coding for multithreaded scenarios. Referenced Issue #537 for additional context. --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: tig <585482+tig@users.noreply.github.com> Co-authored-by: Tig <tig@users.noreply.github.com>
This folder generates the API docs for Terminal.Gui.
The API documentation is generated via a GitHub Action (.github/workflows/api-docs.yml) using DocFX.
To Generate the Docs Locally
- Install DocFX: https://dotnet.github.io/docfx/tutorial/docfx_getting_started.html
- Run
./docfx/scripts/build.ps1 - Browse to http://localhost:8080 and verify everything looks good.
- Hit Ctrl-C to stop the script.
To Update views.md
- Switch to the
./docfxfolder - Run
./scripts/generate-views-doc.ps1 - Commit the changes to
docs/views.md
API Documentation Overview
The API documentation for Terminal.Gui is a critical resource for developers, providing detailed information on classes, methods, properties, and events within the library. This documentation is hosted at gui-cs.github.io/Terminal.Gui and includes both auto-generated API references and conceptual guides. For a broader overview of the Terminal.Gui project, including project structure and contribution guidelines, refer to the main Terminal.Gui README.
Scripts for Documentation Generation
The scripts folder contains PowerShell scripts to assist in generating and updating documentation:
build.ps1: A script to build the documentation locally. Running this script with DocFX installed will generate the documentation site, which can be viewed athttp://localhost:8080.generate-views-doc.ps1: A script specifically for updating theviews.mdfile in thedocsdirectory. This script automates the process of documenting the various view classes in Terminal.Gui, ensuring that the documentation remains current with the codebase.OutputView/: A directory likely used for storing output or intermediate files related to the documentation generation process.
These scripts streamline the process of maintaining up-to-date documentation, ensuring that contributors can easily generate and verify documentation changes locally before committing them.