settings.rs

 1#![allow(non_snake_case, non_upper_case_globals)]
 2
 3mod keymap_file;
 4mod settings_file;
 5mod settings_store;
 6
 7use rust_embed::RustEmbed;
 8use std::{borrow::Cow, str};
 9use util::asset_str;
10
11pub use keymap_file::KeymapFile;
12pub use settings_file::*;
13pub use settings_store::{Setting, SettingsJsonSchemaParams, SettingsStore};
14
15#[derive(RustEmbed)]
16#[folder = "../../assets"]
17#[include = "settings/*"]
18#[include = "keymaps/*"]
19#[exclude = "*.DS_Store"]
20pub struct SettingsAssets;
21
22pub fn default_settings() -> Cow<'static, str> {
23    asset_str::<SettingsAssets>("settings/default.json")
24}
25
26pub fn default_keymap() -> Cow<'static, str> {
27    asset_str::<SettingsAssets>("keymaps/default.json")
28}
29
30pub fn vim_keymap() -> Cow<'static, str> {
31    asset_str::<SettingsAssets>("keymaps/vim.json")
32}
33
34pub fn initial_user_settings_content() -> Cow<'static, str> {
35    asset_str::<SettingsAssets>("settings/initial_user_settings.json")
36}
37
38pub fn initial_local_settings_content() -> Cow<'static, str> {
39    asset_str::<SettingsAssets>("settings/initial_local_settings.json")
40}