11# VSS-Text
22
33[ ![ Build] ( https://github.com/AdaCore/vss-text/actions/workflows/main.yml/badge.svg )] ( https://github.com/AdaCore/vss-text/actions/workflows/main.yml )
4- [ ![ codecov] ( https://codecov.io/gh/AdaCore/vss-text/branch/master/graph/badge.svg )] ( https://codecov.io/gh/AdaCore/vss-text )
54[ ![ alire] ( https://img.shields.io/endpoint?url=https://alire.ada.dev/badges/vss-text.json )] ( https://alire.ada.dev/crates/vss-text.html )
65
76A high level Unicode text processing library.
87
8+ ## Warning - Work in Progress
9+
10+ This project is based on [ ` VSS ` ] ( https://github.com/AdaCore/VSS ) (Virtual
11+ String System). VSS has been split into two projects:
12+
13+ * [ ` vss-text ` ] ( https://github.com/AdaCore/vss-text ) (this project): a library for Unicode text
14+ processing.
15+ * [ ` vss-extra ` ] ( https://github.com/AdaCore/vss-extra ) : libraries for handling
16+ JSON, Regexp, XML and other features based on ` vss-text ` .
17+
18+ Significant changes are planned in ` vss-text ` with the goal to make it a
19+ high-quality, high-performance library suitable for a wide range of
20+ applications.
21+
22+ The changes include the following (non-exhaustive list):
23+
24+ * API Changes
25+ * Introduce an immutable string type.
26+ * Repurpose the mutable ` Virtual_String ` type to a string builder type.
27+ * Possibly rename the root package ` VSS ` to a new more appropriate name. GPR project and repository names might change accordingly.
28+ * (done) Drop the support of multiple internal encodings in favor of a single internal
29+ encoding (likely UTF-8) for improved performance.
30+
931## The objectives
1032
1133The objectives of this project are
1234
1335* To introduce a definite type that represents a string of Unicode characters
1436 and provides a handy set of operations.
15- * The API should be encoding independent and allows efficient implementations
16- depending on platform/application and avoid extra encoding conversions, e.g.
17- an UTF-8 internal representation for Gtk+ applications, UCS-2 for native
18- Windows applications and UTF-16 for WebAssembly.
37+ * The API should be encoding independent and allows efficient implementations.
1938* Besides separating string API from in-memory data representation, it should
2039 separate string API from input/output stream representation.
2140* To provide a clear, well-defined semantic for iteration over string
@@ -33,12 +52,14 @@ that supports them.
3352## Install
3453
3554### Build from sources
55+
3656Prefered way to install is to download sources and run
3757
3858 make all install PREFIX=/path/to/install
3959
40- ### Using ` alire `
41- Or you can use [ alire] ( https://alire.ada.dev/ ) library manager:
60+ ### Using ` Alire `
61+
62+ Or you can use [ Alire] ( https://alire.ada.dev/ ) library manager:
4263
4364 alr get --build vss_text
4465
0 commit comments