Development
Repositories and Pull Requests
General Development (Sublime Text Implementation)
Development of Urtext is currently done as a monorepo with the Sublime Text Urtext package and all dependencies at:
https://github.com/nbeversl/urtext_sublime
Pull requests to this repository, either for Urtext core or its functionality within Sublime Text, within the scope described on this page, are welcome.
Note that dateutil, anytree, and six are dependencies not part of Urtext development are included in the Sublime Text package to facilitate a single-step install. In the Sublime Text Urtext package they are kept at latest tested versions.
Core Urtext Library
The core library is updated periodically to mirror its state in the Sublime Text package repository at:
https://github.com/nbeversl/urtext
The purpose of this repository is to make the core library available for other implementations. Please do not submit pull requests to it directly. Submit instead to the Sublime Text Urtext package repository, and any changes to Urtext core library will propagate to this repository.
iOS Implementation
In turn, the core library is included in the iOS implementation, which also uses:
- Sublemon, a Sublime Text-like editor: https://github.com/nbeversl/sublemon. Sublemon was developed for the iOS implementation of Urtext and later factored out as multi-use editor with a single Sublime-like dropdown with autocomplete and a syntax highlighter that uses Objective C bindings.
- Urtext Pythonista, an extension of Sublemon which adds syntax definition, theming, a custom keyboard and additional functionality for Urtext: https://github.com/nbeversl/urtext_pythonista
- Urtext Pythonista One-Step Install or Update, a single-step install script for the iOS implementation, at https://github.com/nbeversl/urtext_pythonista_install_or_update. Like the Sublime Text package, this repository bundles dependencies into a monorepo to facilitate a single-step install.
- … and these dependencies, not part of Urtext. For pull requests to these dependencies, please consult guidelines on their individual repositories.
- thefuzz
- dateutil
- anytree
- six
- app_single_launch, available in https://github.com/TPO-POMGOM/Pythonista-utilities
Pull requests to these Urtext projects are welcome, as are pull requests to the Starter Project at https://github.com/nbeversl/urtext_starter_project.
Development Path
The development path of Urtext is planned as progress towards a completed core library. Versioning uses SemVer.
- Version 1.x.x (current) remains a public beta until enough feedback is received to release:
- Version 2, the final major version.
After Version 2, development will proceed only as:
- bugfixes
- security fixes (if necessary)
- optimizations
- hooks and flexibility needed for further extensions and directives
Ideas for new features should be implemented as extensions or directives and contributed.
If something cannot be implemented due to limitation of the core library, make a pull request to add the needed flexibility to the core library.