aboutsummaryrefslogtreecommitdiffstats
path: root/src/cocoa_bridge.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/cocoa_bridge.rs')
-rw-r--r--src/cocoa_bridge.rs32
1 files changed, 29 insertions, 3 deletions
diff --git a/src/cocoa_bridge.rs b/src/cocoa_bridge.rs
index 58d74d2..ea88661 100644
--- a/src/cocoa_bridge.rs
+++ b/src/cocoa_bridge.rs
@@ -1,13 +1,39 @@
-extern crate cocoa;
+use cocoa::base::nil;
+use cocoa::foundation::{NSArray, NSAutoreleasePool, NSDictionary};
use MapGroup;
-pub extern "C" fn x() {
+#[repr(C)]
+struct renameMeMapGroup {
+}
+
+pub extern "C" fn parse_mappings() {
let sample_maps = "map <up> k
map <down> j";
- let map_group = MapGroup::parse(sample_maps);
+ let map_group = MapGroup::parse(sample_maps).unwrap();
unsafe {
+ let _pool = NSAutoreleasePool::new(nil);
+
+ let maps = NSDictionary::init(nil).autorelease();
+ let modes = NSDictionary::init(nil).autorelease();
+
+ for (trigger, action) in map_group.maps {
+ let t = NSArray::array(nil).autorelease();
+ }
+
+ for (trigger, modes) in map_group.modes {
+ }
+ }
+}
+
+
+mod tests {
+ use super::*;
+
+ #[test]
+ fn parse_mappings_makes_cocoa_mappings() {
+ parse_mappings();
}
}