summaryrefslogtreecommitdiffstats
path: root/vendor/gix-config/src/lib.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/gix-config/src/lib.rs')
-rw-r--r--vendor/gix-config/src/lib.rs52
1 files changed, 52 insertions, 0 deletions
diff --git a/vendor/gix-config/src/lib.rs b/vendor/gix-config/src/lib.rs
new file mode 100644
index 000000000..9b2afd692
--- /dev/null
+++ b/vendor/gix-config/src/lib.rs
@@ -0,0 +1,52 @@
+//! # `gix_config`
+//!
+//! This crate is a high performance `gix-config` file reader and writer. It
+//! exposes a high level API to parse, read, and write [`gix-config` files].
+//!
+//! This crate has a few primary offerings and various accessory functions. The
+//! table below gives a brief explanation of all offerings, loosely in order
+//! from the highest to lowest abstraction.
+//!
+//! | Offering | Description | Zero-copy? |
+//! | ------------- | --------------------------------------------------- | ----------------- |
+//! | [`File`] | Accelerated wrapper for reading and writing values. | On some reads[^1] |
+//! | [`parse::State`] | Syntactic events for `gix-config` files. | Yes |
+//! | value wrappers | Wrappers for `gix-config` value types. | Yes |
+//!
+//! This crate also exposes efficient value normalization which unescapes
+//! characters and removes quotes through the `normalize_*` family of functions,
+//! located in the [`value`] module.
+//!
+//! # Known differences to the `git config` specification
+//!
+//! - Legacy headers like `[section.subsection]` are supposed to be turned into to lower case and compared
+//! case-sensitively. We keep its case and compare case-insensitively.
+//!
+//! [^1]: When read values do not need normalization and it wasn't parsed in 'owned' mode.
+//!
+//! [`gix-config` files]: https://git-scm.com/docs/gix-config#_configuration_file
+//! [`File`]: crate::File
+//! [`parse::State`]: crate::parse::Events
+//! [`nom`]: https://github.com/Geal/nom
+//!
+//! ## Feature Flags
+#![cfg_attr(
+ feature = "document-features",
+ cfg_attr(doc, doc = ::document_features::document_features!())
+)]
+#![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))]
+#![deny(missing_docs, rust_2018_idioms, unsafe_code)]
+
+pub mod file;
+
+///
+pub mod lookup;
+pub mod parse;
+///
+pub mod value;
+pub use gix_config_value::{color, integer, path, Boolean, Color, Integer, Path};
+
+mod types;
+pub use types::{File, Source};
+///
+pub mod source;