Parse the top-level element

pull/39/head
Takashi Kokubun 2 years ago
parent e5ac6af6bd
commit 2f8029a200
No known key found for this signature in database
GPG Key ID: 6FFC433B12EE23DD

@ -0,0 +1,37 @@
modmap:
- name: Global
remap:
# CapsLock/Ctrl_L -> Esc
CapsLock: Esc
Ctrl_L: Esc
# [Alt_L] [Muhenkan] [Space] [Henkan] [Kana]
Alt_L: Ctrl_R # for Ctrl+Click
Muhenkan: Ctrl_L
Henkan: Shift_L
- name: Kana -> Windows
wm_class:
not: jetbrains-idea
remap:
# Use Windows since Alt is annoying in Electron apps (Slack, Nocturn)
KanaHira: Windows
keymap:
- name: Global
remap:
# Underscore without Shift
RO: Shift-RO
# SKK hack for Chrome
C-j: C-m
- name: Default (Nocturn, etc.)
wm_class:
not: [Google-chrome, Slack, Gnome-terminal, jetbrains-idea]
remap:
# Emacs basic
C-b: left
C-f: right
C-p: up
C-n: down

@ -1,10 +1,22 @@
use std::error::Error;
use std::fs;
use yaml_rust::{Yaml, YamlLoader};
pub fn load_config(filename: &str) -> Result<Config, Box<dyn Error>> {
let yaml = fs::read_to_string(&filename)?;
println!("{}", yaml.len());
return Ok(Config { modmap: vec![], keymap: vec![] })
let yaml = YamlLoader::load_from_str(&fs::read_to_string(&filename)?)?;
// println!("{:#?}", yaml);
match &yaml[..] {
[yaml] => {
Ok(parse_config(yaml))
},
arr => {
Err(format!("The number of top-level elements must be 1, but got: {}", arr.len()).into())
}
}
}
fn parse_config(_yaml: &Yaml) -> Config {
Config { modmap: vec![], keymap: vec![] }
}
#[derive(Debug)]

@ -46,7 +46,7 @@ fn main() {
exit(1);
},
};
println!("{:#?}", config);
println!("{:?}", config);
match event_loop() {
Ok(()) => {},

Loading…
Cancel
Save