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}