diff options
author | Blaž Hrastnik | 2021-11-30 04:06:30 +0000 |
---|---|---|
committer | Blaž Hrastnik | 2021-11-30 04:06:30 +0000 |
commit | 9ed930b2335b86d03e871b52a958d4e9768e0d34 (patch) | |
tree | 91add4e3dbc128752a47f30b4a2bd093b6118632 /helix-view/src/lib.rs | |
parent | 72576822f31ee2e2f88a1b627b0f5c14dc66ec37 (diff) | |
parent | 94296229e72cb9a56fb36d9cc3bc2513df3c54f6 (diff) |
Merge remote-tracking branch 'origin/master' into debug
Diffstat (limited to 'helix-view/src/lib.rs')
-rw-r--r-- | helix-view/src/lib.rs | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/helix-view/src/lib.rs b/helix-view/src/lib.rs index 3e779356..a56c914d 100644 --- a/helix-view/src/lib.rs +++ b/helix-view/src/lib.rs @@ -5,6 +5,7 @@ pub mod clipboard; pub mod document; pub mod editor; pub mod graphics; +pub mod gutter; pub mod info; pub mod input; pub mod keyboard; @@ -12,8 +13,18 @@ pub mod theme; pub mod tree; pub mod view; -#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default, Debug)] -pub struct DocumentId(usize); +use std::num::NonZeroUsize; + +// uses NonZeroUsize so Option<DocumentId> use a byte rather than two +#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Debug)] +pub struct DocumentId(NonZeroUsize); + +impl Default for DocumentId { + fn default() -> DocumentId { + // Safety: 1 is non-zero + DocumentId(unsafe { NonZeroUsize::new_unchecked(1) }) + } +} slotmap::new_key_type! { pub struct ViewId; |