diff --git a/Cargo.lock b/Cargo.lock index eec883e..a45c949 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2,25 +2,25 @@ name = "nvim-gtk" version = "0.1.2" dependencies = [ - "cairo-rs 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", + "cairo-rs 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "env_logger 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", - "gdk 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", - "gdk-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "gio 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "glib 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "glib-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "gtk 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "gtk-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", + "gdk 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gdk-sys 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gio 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "glib 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "glib-sys 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gtk 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gtk-sys 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "htmlescape 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", "neovim-lib 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "pango 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "pangocairo 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", + "pango 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "pangocairo 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "phf 0.7.21 (registry+https://github.com/rust-lang/crates.io-index)", "phf_codegen 0.7.21 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", - "toml 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", + "toml 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -33,29 +33,29 @@ dependencies = [ [[package]] name = "atk-sys" -version = "0.3.4" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bitflags 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)", - "glib-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "gobject-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", + "glib-sys 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gobject-sys 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.29 (registry+https://github.com/rust-lang/crates.io-index)", "pkg-config 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "bitflags" -version = "0.5.0" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "bitflags" -version = "0.8.2" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "byteorder" -version = "1.0.0" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -65,22 +65,23 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "cairo-rs" -version = "0.1.3" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "c_vec 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "cairo-sys-rs 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "glib 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)", + "cairo-sys-rs 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "glib 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "glib-sys 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.29 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "cairo-sys-rs" -version = "0.3.4" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.29 (registry+https://github.com/rust-lang/crates.io-index)", "pkg-config 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -90,6 +91,19 @@ name = "cfg-if" version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "conv" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "custom_derive 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "custom_derive" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" + [[package]] name = "env_logger" version = "0.4.3" @@ -101,156 +115,158 @@ dependencies = [ [[package]] name = "gdk" -version = "0.5.3" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bitflags 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", - "cairo-rs 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "cairo-sys-rs 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "gdk-pixbuf 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "gdk-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "gio 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "glib 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "glib-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "gobject-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)", - "pango 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", + "cairo-rs 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "cairo-sys-rs 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gdk-pixbuf 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gdk-sys 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gio 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "glib 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "glib-sys 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gobject-sys 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.29 (registry+https://github.com/rust-lang/crates.io-index)", + "pango 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "gdk-pixbuf" -version = "0.1.3" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "gdk-pixbuf-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "glib 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)", + "gdk-pixbuf-sys 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "glib 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "glib-sys 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gobject-sys 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.29 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "gdk-pixbuf-sys" -version = "0.3.4" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bitflags 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)", - "gio-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "glib-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "gobject-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", + "gio-sys 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "glib-sys 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gobject-sys 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.29 (registry+https://github.com/rust-lang/crates.io-index)", "pkg-config 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "gdk-sys" -version = "0.3.4" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bitflags 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)", - "cairo-sys-rs 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "gdk-pixbuf-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "gio-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "glib-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "gobject-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)", - "pango-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", + "cairo-sys-rs 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gdk-pixbuf-sys 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gio-sys 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "glib-sys 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gobject-sys 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.29 (registry+https://github.com/rust-lang/crates.io-index)", + "pango-sys 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "pkg-config 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "gio" -version = "0.1.3" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bitflags 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", - "gio-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "glib 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "glib-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "gobject-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", + "gio-sys 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "glib 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "glib-sys 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gobject-sys 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.29 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "gio-sys" -version = "0.3.4" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bitflags 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)", - "glib-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "gobject-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", + "glib-sys 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gobject-sys 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.29 (registry+https://github.com/rust-lang/crates.io-index)", "pkg-config 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "glib" -version = "0.1.3" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bitflags 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", - "glib-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "gobject-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", + "glib-sys 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gobject-sys 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.29 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "glib-sys" -version = "0.3.4" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bitflags 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.29 (registry+https://github.com/rust-lang/crates.io-index)", "pkg-config 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "gobject-sys" -version = "0.3.4" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bitflags 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)", - "glib-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", + "glib-sys 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.29 (registry+https://github.com/rust-lang/crates.io-index)", "pkg-config 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "gtk" -version = "0.1.3" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bitflags 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", - "cairo-rs 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "cairo-sys-rs 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "gdk 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", - "gdk-pixbuf 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "gdk-pixbuf-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "gdk-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "gio 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "gio-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "glib 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "glib-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "gobject-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "gtk-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)", - "pango 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", + "cairo-rs 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "cairo-sys-rs 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gdk 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gdk-pixbuf 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gdk-pixbuf-sys 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gdk-sys 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gio 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gio-sys 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "glib 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "glib-sys 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gobject-sys 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gtk-sys 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.29 (registry+https://github.com/rust-lang/crates.io-index)", + "pango 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "gtk-sys" -version = "0.3.4" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "atk-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "bitflags 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)", - "cairo-sys-rs 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "gdk-pixbuf-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "gdk-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "gio-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "glib-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "gobject-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)", - "pango-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", + "atk-sys 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", + "cairo-sys-rs 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gdk-pixbuf-sys 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gdk-sys 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gio-sys 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "glib-sys 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gobject-sys 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.29 (registry+https://github.com/rust-lang/crates.io-index)", + "pango-sys 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "pkg-config 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -266,7 +282,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "libc" -version = "0.2.20" +version = "0.2.29" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -274,12 +290,29 @@ name = "log" version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "magenta" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "conv 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", + "magenta-sys 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "magenta-sys" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "memchr" version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.29 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -295,53 +328,57 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.1.39" +version = "0.1.40" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "pango" -version = "0.1.3" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bitflags 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", - "glib 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)", - "pango-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", + "glib 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "glib-sys 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gobject-sys 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.29 (registry+https://github.com/rust-lang/crates.io-index)", + "pango-sys 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "pango-sys" -version = "0.3.4" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bitflags 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)", - "glib-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "gobject-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", + "glib-sys 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gobject-sys 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.29 (registry+https://github.com/rust-lang/crates.io-index)", "pkg-config 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "pangocairo" -version = "0.1.3" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "cairo-rs 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "glib 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "pango 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "pango-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "pangocairo-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", + "cairo-rs 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "glib 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "glib-sys 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gobject-sys 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "pango 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "pango-sys 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "pangocairo-sys 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "pangocairo-sys" -version = "0.3.4" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "cairo-sys-rs 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "glib-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)", - "pango-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", + "cairo-sys-rs 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "glib-sys 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.29 (registry+https://github.com/rust-lang/crates.io-index)", + "pango-sys 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "pkg-config 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -368,7 +405,7 @@ version = "0.7.21" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "phf_shared 0.7.21 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -391,10 +428,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "rand" -version = "0.3.15" +version = "0.3.16" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.29 (registry+https://github.com/rust-lang/crates.io-index)", + "magenta 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -419,8 +457,8 @@ name = "rmp" version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "byteorder 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", + "byteorder 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -428,18 +466,18 @@ name = "rmpv" version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "num-traits 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", "rmp 0.8.6 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "serde" -version = "1.0.9" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "serde_derive" -version = "1.0.9" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", @@ -490,10 +528,10 @@ dependencies = [ [[package]] name = "toml" -version = "0.4.2" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -507,7 +545,7 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cfg-if 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.29 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -535,56 +573,60 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [metadata] "checksum aho-corasick 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)" = "500909c4f87a9e52355b26626d890833e9e1d53ac566db76c36faa984b889699" -"checksum atk-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "d7a9635b2b56a4925bf9c9b14cb7cad91eb2c3ca1eb04671a525b9e729b5c0a2" -"checksum bitflags 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4f67931368edf3a9a51d29886d245f1c3db2f1ef0dcc9e35ff70341b78c10d23" -"checksum bitflags 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1370e9fc2a6ae53aea8b7a5110edbd08836ed87c88736dfabccade1c2b44bff4" -"checksum byteorder 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c40977b0ee6b9885c9013cd41d9feffdd22deb3bb4dc3a71d901cc7a77de18c8" +"checksum atk-sys 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c69658a4e18d5c9575f716e24559645d08a4044d6946c30c2e0025952c84d842" +"checksum bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "aad18937a628ec6abcd26d1489012cc0e18c21798210f491af69ded9b881106d" +"checksum bitflags 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4efd02e230a02e18f92fc2735f44597385ed02ad8f831e7c1c1156ee5e1ab3a5" +"checksum byteorder 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ff81738b726f5d099632ceaffe7fb65b90212e8dce59d518729e7e8634032d3d" "checksum c_vec 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "6237ac5a4b1e81c213c24c6437964c61e646df910a914b4ab1487b46df20bd13" -"checksum cairo-rs 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "0180a8b65dc13e78479c6a47c4d5f094d64dc34465a9433c6daef9ae2fbfb3ee" -"checksum cairo-sys-rs 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "a2414b86c20c40dfb56a98b1dbca05bde56411f488d268c4289a86df1b648c61" +"checksum cairo-rs 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a9d336f1b2ff46c17475a14360de7f456707008da475c54824887e52e453ab00" +"checksum cairo-sys-rs 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9e8a1e2a76ac09b959788c2c30a355d693ce6f7f7d7268f6d1dd5d8c3359c521" "checksum cfg-if 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "d4c819a1287eb618df47cc647173c5c4c66ba19d888a6e50d605672aed3140de" +"checksum conv 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "78ff10625fd0ac447827aa30ea8b861fead473bb60aeb73af6c1c58caf0d1299" +"checksum custom_derive 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "ef8ae57c4978a2acd8b869ce6b9ca1dfe817bff704c220209fdef2c0b75a01b9" "checksum env_logger 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3ddf21e73e016298f5cb37d6ef8e8da8e39f91f9ec8b0df44b7deb16a9f8cd5b" -"checksum gdk 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "9f5cc612be763b8a63cee5fb8d444d9869a8690f12c199535329bcba716de5e5" -"checksum gdk-pixbuf 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "65506bc318d83947c3ee458cec22c35377a941770e0b762e35fbb491e91d012f" -"checksum gdk-pixbuf-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "ff3c977528255ba4f1dfaecfb697c630996c4f5a6a3b1fbc08ff7bdeb3f754c3" -"checksum gdk-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "c11dcde28f6ddf0bc6a93cec5205aafb034c318d99147a9668d455d66e5ba749" -"checksum gio 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "1b5f3ca1ee702ff9f5fea73ebb33ad8d007f2e77b8179d90689c919ef328da32" -"checksum gio-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "963cf38f6575843b98fe7d39d426c4c0025b6f965a9a8b8c0165aface866400a" -"checksum glib 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "81f514a8abd315ede0e94e39ce5987fdb99191c5f812e5066bc5bdb965104fc4" -"checksum glib-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "8826cbc94631507bdd91ee40f7e099bfaa3cc4f43c086b4d1c15cff5b4e8220b" -"checksum gobject-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "87373f64e136e9ea192ff5d3ef676a51e9ac6ab06b629223a081e0523c5f04e2" -"checksum gtk 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "78d69fb7425fd6efba3b0c99f952b130fa4a0fdfdffbceb2b40ba018b2ed6a77" -"checksum gtk-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "9391d0b50af734dbd54582d1836d0346d8daf6dc5e7f272afea96f4dcaf50b74" +"checksum gdk 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f30018ecbbb1e6f1d59c4024ec08675850744b799abc5420be0629ac9ba0abd2" +"checksum gdk-pixbuf 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "caf05dab73febcc6e90abaff8f24cfe1cf1bd2222cd648ddfe337bf3b994489f" +"checksum gdk-pixbuf-sys 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "85eb441420653b33e5a29d13227ea34995383e65bf4f33b16492ec95e44a8996" +"checksum gdk-sys 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "679d86da2a4522a623e3ce4b67f2126a12e057a1f7269eee7028199f78b5a854" +"checksum gio 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b7bc3126c94109e65871e4228b990d1ea2953259483d5b06eb96e8b36a7bf196" +"checksum gio-sys 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "189969f8189604c371d42b613d928c9d17fcfbf6e175d6b0ce9475a950f76dc6" +"checksum glib 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "67eb5b7251562f527d55d0ccf81bc5e6e75045df38b97cfee98ee7b2fc5aa7c0" +"checksum glib-sys 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "cdd7d911c5dc610aabe37caae7d3b9d2cfe6d8f4c85ff4c062f3d6f490e75067" +"checksum gobject-sys 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "edc95561e538381576425264a4ddd08c65d5da218f10b2a47b4479dd147775da" +"checksum gtk 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ce17f98e7dcdc9d06b3a5f7621d796a24937c04953481205b1be267c5a02697a" +"checksum gtk-sys 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "854b56ce6d6b05945f7735651482835c5ac1f8582142ce67306726259a3dafb0" "checksum htmlescape 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e9025058dae765dee5070ec375f591e2ba14638c63feff74f13805a72e523163" "checksum lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "3b37545ab726dd833ec6420aaba8231c5b320814b9029ad585555d2a03e94fbf" -"checksum libc 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)" = "684f330624d8c3784fb9558ca46c4ce488073a8d22450415c5eb4f4cfb0d11b5" +"checksum libc 0.2.29 (registry+https://github.com/rust-lang/crates.io-index)" = "8a014d9226c2cc402676fbe9ea2e15dd5222cd1dd57f576b5b283178c944a264" "checksum log 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)" = "880f77541efa6e5cc74e76910c9884d9859683118839d6a1dc3b11e63512565b" +"checksum magenta 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4bf0336886480e671965f794bc9b6fce88503563013d1bfb7a502c81fe3ac527" +"checksum magenta-sys 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "40d014c7011ac470ae28e2f76a02bfea4a8480f73e701353b49ad7a8d75f4699" "checksum memchr 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1dbccc0e46f1ea47b9f17e6d67c5a96bd27030519c519c9c91327e31275a47b4" "checksum neovim-lib 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "cd81cd2140309fcbe61775ebe5901b0730e5fdae2558a6cd27539e6e730fa76a" -"checksum num-traits 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)" = "1708c0628602a98b52fad936cf3edb9a107af06e52e49fdf0707e884456a6af6" -"checksum pango 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "4215233226ff03c9a3ed7c85cbc3c58257203723e3a93d5a20ce3560f66261b7" -"checksum pango-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "e401ee469540e60a80d1df63dcea4e9c201115e79344b77529fa3705ea8eadcd" -"checksum pangocairo 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "1994752fcd20dbefd084a3c231bbcd79ebe67ca2e7f9cd11db0243b64f155c35" -"checksum pangocairo-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "02eeea9019eeb6ea32c170664247cac130d871f28902376de3c8b30f001b9e7b" +"checksum num-traits 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)" = "99843c856d68d8b4313b03a17e33c4bb42ae8f6610ea81b28abe076ac721b9b0" +"checksum pango 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5afa4b4c5380315b12075e7767d9bdd62d53beeb6087d9287ef6990e57a6b643" +"checksum pango-sys 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e6ec8d90306b5ff43f5836f4363267ea95be02b3df71d2b31ba8fbb1680bdee1" +"checksum pangocairo 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c8edeb86f36f8f10a252a888fa3d9aff4d0681373da918c207eac2208aa091e6" +"checksum pangocairo-sys 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c26c200ef32a682bf8b693b47996c3c33e0b2de32b30f7251cc60673ad513bef" "checksum phf 0.7.21 (registry+https://github.com/rust-lang/crates.io-index)" = "cb325642290f28ee14d8c6201159949a872f220c62af6e110a56ea914fbe42fc" "checksum phf_codegen 0.7.21 (registry+https://github.com/rust-lang/crates.io-index)" = "d62594c0bb54c464f633175d502038177e90309daf2e0158be42ed5f023ce88f" "checksum phf_generator 0.7.21 (registry+https://github.com/rust-lang/crates.io-index)" = "6b07ffcc532ccc85e3afc45865469bf5d9e4ef5bfcf9622e3cfe80c2d275ec03" "checksum phf_shared 0.7.21 (registry+https://github.com/rust-lang/crates.io-index)" = "07e24b0ca9643bdecd0632f2b3da6b1b89bbb0030e0b992afc1113b23a7bc2f2" "checksum pkg-config 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "3a8b4c6b8165cd1a1cd4b9b120978131389f64bdaf456435caa41e630edba903" "checksum quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6e920b65c65f10b2ae65c831a81a073a89edd28c7cce89475bff467ab4167a" -"checksum rand 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)" = "022e0636ec2519ddae48154b028864bdce4eaf7d35226ab8e65c611be97b189d" +"checksum rand 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)" = "eb250fd207a4729c976794d03db689c9be1d634ab5a1c9da9492a13d8fecbcdf" "checksum regex 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1731164734096285ec2a5ec7fea5248ae2f5485b3feeb0115af4fda2183b2d1b" "checksum regex-syntax 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ad890a5eef7953f55427c50575c680c42841653abd2b028b68cd223d157f62db" "checksum rmp 0.8.6 (registry+https://github.com/rust-lang/crates.io-index)" = "7ce560a5728f4eec697f07f8d7fa20608893d44b4f5b8f9f5f51a2987f3cffe2" "checksum rmpv 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "45368daa6c60116376d8813ec6a2556df640229709becb8f80df1651f882e7af" -"checksum serde 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)" = "6a7c6b751a2e8d5df57a5ff71b5b4fc8aaee9ee28ff1341d640dd130bb5f4f7a" -"checksum serde_derive 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)" = "2f6ca58905ebd3c3b285a8a6d4f3ac92b92c0d7951d5649b1bdd212549c06639" +"checksum serde 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)" = "f7726f29ddf9731b17ff113c461e362c381d9d69433f79de4f3dd572488823e9" +"checksum serde_derive 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)" = "cf823e706be268e73e7747b147aa31c8f633ab4ba31f115efb57e5047c3a76dd" "checksum serde_derive_internals 0.15.1 (registry+https://github.com/rust-lang/crates.io-index)" = "37aee4e0da52d801acfbc0cc219eb1eda7142112339726e427926a6f6ee65d3a" "checksum siphasher 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "0df90a788073e8d0235a67e50441d47db7c8ad9debd91cbf43736a2a92d36537" "checksum syn 0.11.11 (registry+https://github.com/rust-lang/crates.io-index)" = "d3b891b9015c88c576343b9b3e41c2c11a51c219ef067b264bd9c8aa9b441dad" "checksum synom 0.11.3 (registry+https://github.com/rust-lang/crates.io-index)" = "a393066ed9010ebaed60b9eafa373d4b1baac186dd7e008555b0f702b51945b6" "checksum thread_local 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "1697c4b57aeeb7a536b647165a2825faddffb1d3bad386d507709bd51a90bb14" -"checksum toml 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "b0601da6c97135c8d330c7a13a013ca6cd4143221b01de2f8d4edc50a9e551c7" +"checksum toml 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)" = "a7540f4ffc193e0d3c94121edb19b055670d369f77d5804db11ae053a45b6e7e" "checksum unicode-xid 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "8c1f860d7d29cf02cb2f3f359fd35991af3d30bac52c57d265a3c461074cb4dc" "checksum unix_socket 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "6aa2700417c405c38f5e6902d699345241c28c0b7ade4abaad71e35a87eb1564" "checksum unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "382810877fe448991dfc7f0dd6e3ae5d58088fd0ea5e35189655f84e6814fa56" diff --git a/Cargo.toml b/Cargo.toml index 21b9c8b..a6a4847 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -5,16 +5,26 @@ authors = ["daa84 "] build = "build.rs" [dependencies] -cairo-rs = "0.1" -pango = "0.1" -pangocairo = "0.1" -glib = "0.1" -glib-sys = "0.3" -gdk = "0.5" -gdk-sys = "0.3" +cairo-rs = "0.2" +pango = "0.2" +pangocairo = "0.2" +glib = "0.3" +glib-sys = "0.4" +gdk = "0.6" +gdk-sys = "0.4" +gio = "0.2" +#gdk = { git = 'https://github.com/gtk-rs/gdk' } +#gdk-sys = { git = 'https://github.com/gtk-rs/sys' } +#glib = { git = 'https://github.com/gtk-rs/glib' } +#glib-sys = { git = 'https://github.com/gtk-rs/sys' } +#cairo-rs = { git = 'https://github.com/gtk-rs/cairo' } +#cairo-sys-rs = { git = 'https://github.com/gtk-rs/cairo' } +#pango = { git = 'https://github.com/gtk-rs/pango' } +#pango-sys = { git = 'https://github.com/gtk-rs/sys' } +#gio = { git = 'https://github.com/gtk-rs/gio' } +#pangocairo = { git = 'https://github.com/RazrFalcon/pangocairo-rs' } neovim-lib = "0.4" phf = "0.7" -gio = "0.1" log = "0.3" env_logger = "0.4" htmlescape = "0.3" @@ -30,10 +40,12 @@ toml = "0.4" phf_codegen = "0.7" [dependencies.gtk] -version = "0.1" +version = "0.2" features = ["v3_22"] +#git = "https://github.com/gtk-rs/gtk" [dependencies.gtk-sys] -version = "0.3" +version = "0.4" features = ["v3_22"] +#git = 'https://github.com/gtk-rs/sys' diff --git a/src/input.rs b/src/input.rs index cd553b8..90e7dd6 100644 --- a/src/input.rs +++ b/src/input.rs @@ -77,11 +77,15 @@ pub fn convert_key(ev: &EventKey) -> Option { } } +pub fn im_input(nvim: &mut Neovim, input: &str) { + debug!("nvim_input -> {}", input); + nvim.input(&input).expect("Error run input command to nvim"); +} + pub fn gtk_key_press(nvim: &mut Neovim, ev: &EventKey) -> Inhibit { if let Some(input) = convert_key(ev) { debug!("nvim_input -> {}", input); - nvim.input(&input) - .expect("Error run input command to nvim"); + nvim.input(&input).expect("Error run input command to nvim"); Inhibit(true) } else { Inhibit(false) diff --git a/src/main.rs b/src/main.rs index e61055d..ac76661 100644 --- a/src/main.rs +++ b/src/main.rs @@ -35,8 +35,9 @@ mod project; mod tabline; mod error; + use std::env; -use gio::ApplicationExt; +use gio::{ApplicationExt, FileExt}; use ui::Ui; @@ -47,29 +48,41 @@ const BIN_PATH_ARG: &'static str = "--nvim-bin-path"; fn main() { env_logger::init().expect("Can't initialize env_logger"); + let app_flags = gio::APPLICATION_HANDLES_OPEN; + let app = if cfg!(debug_assertions) { gtk::Application::new(Some("org.daa.NeovimGtkDebug"), - gio::ApplicationFlags::empty()) + app_flags) } else { - gtk::Application::new(Some("org.daa.NeovimGtk"), gio::ApplicationFlags::empty()) + gtk::Application::new(Some("org.daa.NeovimGtk"), app_flags) } .expect("Failed to initialize GTK application"); app.connect_activate(activate); + { + use gio::ApplicationExtManual; + app.connect_open(open); + } let args: Vec = env::args().collect(); - let mut argv: Vec<&str> = args.iter() + let argv: Vec<&str> = args.iter() .filter(|a| !a.starts_with(BIN_PATH_ARG)) .map(String::as_str) .collect(); - if open_arg().is_some() { - argv.pop(); + app.run(&argv); +} + +fn open(app: >k::Application, files: &[gio::File], _: &str) { + for f in files { + let mut ui = Ui::new(ShellOptions::new(nvim_bin_path(std::env::args()), + f.get_path().and_then(|p| p.to_str().map(str::to_owned)))); + + ui.init(app); } - app.run(argv.len() as i32, &argv); } fn activate(app: >k::Application) { - let mut ui = Ui::new(ShellOptions::new(nvim_bin_path(std::env::args()), open_arg())); + let mut ui = Ui::new(ShellOptions::new(nvim_bin_path(std::env::args()), None)); ui.init(app); } @@ -83,23 +96,6 @@ fn nvim_bin_path(args: I) -> Option .unwrap_or(None) } -fn open_arg() -> Option { - open_arg_impl(std::env::args()) -} - -fn open_arg_impl(args: I) -> Option - where I: Iterator -{ - args.skip(1) - .last() - .map(|a| if !a.starts_with('-') { - Some(a.to_owned()) - } else { - None - }) - .unwrap_or(None) -} - #[cfg(test)] mod tests { use super::*; @@ -111,20 +107,4 @@ mod tests { .iter() .map(|s| s.to_string()))); } - - #[test] - fn test_open_arg() { - assert_eq!(Some("some_file.txt".to_string()), - open_arg_impl(vec!["neovim-gtk", - "--nvim-bin-path=/test_path", - "some_file.txt"] - .iter() - .map(|s| s.to_string()))); - } - - #[test] - fn test_empty_open_arg() { - assert_eq!(None, - open_arg_impl(vec!["neovim-gtk"].iter().map(|s| s.to_string()))); - } } diff --git a/src/settings.rs b/src/settings.rs index 1e64cfa..679f9fb 100644 --- a/src/settings.rs +++ b/src/settings.rs @@ -7,6 +7,8 @@ use nvim::RepaintMode; use shell::Shell; #[cfg(unix)] use gio; +#[cfg(unix)] +use gio::SettingsExt; #[derive(PartialEq)] pub enum FontSource { diff --git a/src/shell.rs b/src/shell.rs index 0a35197..96e1b5e 100644 --- a/src/shell.rs +++ b/src/shell.rs @@ -7,7 +7,8 @@ use std::thread; use cairo; use pangocairo::CairoContextExt; use pango; -use pango::FontDescription; +use pango::{LayoutExt, FontDescription}; +use gdk; use gdk::{ModifierType, EventButton, EventMotion, EventType, EventScroll}; use gdk_sys; use glib; @@ -63,6 +64,7 @@ pub struct State { stack: gtk::Stack, drawing_area: gtk::DrawingArea, tabs: Tabline, + im_context: gtk::IMMulticontext, error_area: error::ErrorArea, line_height: Option, @@ -100,6 +102,7 @@ impl State { stack: gtk::Stack::new(), drawing_area, tabs: Tabline::new(), + im_context: gtk::IMMulticontext::new(), error_area: error::ErrorArea::new(), line_height: None, @@ -131,7 +134,8 @@ impl State { } pub fn set_detach_cb(&mut self, cb: Option) - where F: FnMut() + Send + 'static + where + F: FnMut() + Send + 'static, { if cb.is_some() { self.detach_cb = Some(Box::new(RefCell::new(cb.unwrap()))); @@ -215,12 +219,16 @@ impl State { } } + fn im_commit(&self, ch: &str) { + input::im_input(&mut self.nvim.borrow_mut(), ch); + } + fn calc_char_bounds(&self, ctx: &cairo::Context) -> (i32, i32) { let layout = ctx.create_pango_layout(); let desc = self.create_pango_font(); layout.set_font_description(Some(&desc)); - layout.set_text("A", -1); + layout.set_text("A"); layout.get_pixel_size() } @@ -237,8 +245,10 @@ impl State { if let Some(line_height) = self.line_height { if let Some(char_width) = self.char_width { let alloc = self.drawing_area.get_allocation(); - return Some(((alloc.width as f64 / char_width).trunc() as usize, - (alloc.height as f64 / line_height).trunc() as usize)); + return Some(( + (alloc.width as f64 / char_width).trunc() as usize, + (alloc.height as f64 / line_height).trunc() as usize, + )); } } @@ -248,9 +258,9 @@ impl State { fn show_error_area(&self) { let stack = self.stack.clone(); gtk::idle_add(move || { - stack.set_visible_child_name("Error"); - Continue(false) - }); + stack.set_visible_child_name("Error"); + Continue(false) + }); } } @@ -313,6 +323,8 @@ impl Shell { state.drawing_area.set_vexpand(true); state.drawing_area.set_can_focus(true); + state.im_context.set_use_preedit(false); + let nvim_box = gtk::Box::new(gtk::Orientation::Vertical, 0); nvim_box.pack_start(&*state.tabs, false, true, 0); @@ -323,78 +335,106 @@ impl Shell { self.widget.pack_start(&state.stack, true, true, 0); - state - .drawing_area - .set_events((gdk_sys::GDK_BUTTON_RELEASE_MASK | gdk_sys::GDK_BUTTON_PRESS_MASK | - gdk_sys::GDK_BUTTON_MOTION_MASK | - gdk_sys::GDK_SCROLL_MASK) - .bits() as i32); + state.drawing_area.set_events( + (gdk_sys::GDK_BUTTON_RELEASE_MASK | gdk_sys::GDK_BUTTON_PRESS_MASK | + gdk_sys::GDK_BUTTON_MOTION_MASK | + gdk_sys::GDK_SCROLL_MASK) + .bits() as i32, + ); let ref_state = self.state.clone(); let ref_ui_state = self.ui_state.clone(); - state - .drawing_area - .connect_button_press_event(move |_, ev| { - gtk_button_press(&mut *ref_state.borrow_mut(), - &mut *ref_ui_state.borrow_mut(), - ev) - }); + state.drawing_area.connect_button_press_event(move |_, ev| { + gtk_button_press( + &mut *ref_state.borrow_mut(), + &mut *ref_ui_state.borrow_mut(), + ev, + ) + }); let ref_ui_state = self.ui_state.clone(); - state - .drawing_area - .connect_button_release_event(move |_, _| { - gtk_button_release(&mut *ref_ui_state.borrow_mut()) - }); + state.drawing_area.connect_button_release_event( + move |_, _| { + gtk_button_release(&mut *ref_ui_state.borrow_mut()) + }, + ); let ref_state = self.state.clone(); let ref_ui_state = self.ui_state.clone(); - state - .drawing_area - .connect_motion_notify_event(move |_, ev| { - gtk_motion_notify(&mut *ref_state.borrow_mut(), - &mut *ref_ui_state.borrow_mut(), - ev) - }); + state.drawing_area.connect_motion_notify_event( + move |_, ev| { + gtk_motion_notify( + &mut *ref_state.borrow_mut(), + &mut *ref_ui_state.borrow_mut(), + ev, + ) + }, + ); let ref_state = self.state.clone(); - state - .drawing_area - .connect_draw(move |_, ctx| gtk_draw(&ref_state, ctx)); + state.drawing_area.connect_draw( + move |_, ctx| gtk_draw(&ref_state, ctx), + ); let ref_state = self.state.clone(); - state - .drawing_area - .connect_key_press_event(move |_, ev| { - let mut shell = ref_state.borrow_mut(); - shell.cursor.as_mut().unwrap().reset_state(); - let mut nvim = shell.nvim(); - input::gtk_key_press(&mut *nvim, ev) - }); + state.drawing_area.connect_key_press_event(move |_, ev| { + let mut shell = ref_state.borrow_mut(); + shell.cursor.as_mut().unwrap().reset_state(); + // GtkIMContext will eat a Shift-Space and not tell us about shift. + // Also don't let IME eat any GDK_KEY_KP_ events + if !ev.get_state().contains(gdk::SHIFT_MASK) && + ev.get_keyval() < gdk_sys::GDK_KEY_KP_Space as u32 && + ev.get_keyval() > gdk_sys::GDK_KEY_KP_Divide as u32 && + shell.im_context.filter_keypress(ev) + { + Inhibit(true) + } else { + if shell.nvim.borrow().is_initialized() { + input::gtk_key_press(&mut shell.nvim.borrow_mut(), ev) + } else { + Inhibit(false) + } + } + }); + let ref_state = self.state.clone(); + state.drawing_area.connect_key_release_event(move |_, ev| { + ref_state.borrow().im_context.filter_keypress(ev); + Inhibit(false) + }); let ref_state = self.state.clone(); - state - .drawing_area - .connect_scroll_event(move |_, ev| gtk_scroll_event(&mut *ref_state.borrow_mut(), ev)); + state.drawing_area.connect_scroll_event(move |_, ev| { + gtk_scroll_event(&mut *ref_state.borrow_mut(), ev) + }); let ref_state = self.state.clone(); - state - .drawing_area - .connect_focus_in_event(move |_, _| gtk_focus_in(&mut *ref_state.borrow_mut())); + state.drawing_area.connect_focus_in_event(move |_, _| { + gtk_focus_in(&mut *ref_state.borrow_mut()) + }); let ref_state = self.state.clone(); - state - .drawing_area - .connect_focus_out_event(move |_, _| gtk_focus_out(&mut *ref_state.borrow_mut())); + state.drawing_area.connect_focus_out_event(move |_, _| { + gtk_focus_out(&mut *ref_state.borrow_mut()) + }); let ref_state = self.state.clone(); - state - .drawing_area - .connect_configure_event(move |_, _| { - try_nvim_resize(&ref_state); - false - }); + state.drawing_area.connect_realize(move |w| { + ref_state.borrow().im_context.set_client_window( + w.get_window().as_ref(), + ) + }); + + let ref_state = self.state.clone(); + state.im_context.connect_commit(move |_, ch| { + ref_state.borrow().im_commit(ch) + }); + + let ref_state = self.state.clone(); + state.drawing_area.connect_configure_event(move |_, _| { + try_nvim_resize(&ref_state); + false + }); } #[cfg(unix)] @@ -443,7 +483,8 @@ impl Shell { } pub fn set_detach_cb(&self, cb: Option) - where F: FnMut() + Send + 'static + where + F: FnMut() + Send + 'static, { let mut state = self.state.borrow_mut(); state.set_detach_cb(cb); @@ -459,6 +500,7 @@ impl Deref for Shell { } fn gtk_focus_in(state: &mut State) -> Inhibit { + state.im_context.focus_in(); state.cursor.as_mut().unwrap().enter_focus(); let point = state.model.cur_point(); state.on_redraw(&RepaintMode::Area(point)); @@ -466,6 +508,7 @@ fn gtk_focus_in(state: &mut State) -> Inhibit { } fn gtk_focus_out(state: &mut State) -> Inhibit { + state.im_context.focus_out(); state.cursor.as_mut().unwrap().leave_focus(); let point = state.model.cur_point(); state.on_redraw(&RepaintMode::Area(point)); @@ -520,8 +563,9 @@ fn mouse_input(shell: &mut State, input: &str, state: ModifierType, position: (f let col = (x / char_width).trunc() as u64; let row = (y / line_height).trunc() as u64; let input_str = format!("{}<{},{}>", keyval_to_input_string(input, state), col, row); - nvim.input(&input_str) - .expect("Can't send mouse input event"); + nvim.input(&input_str).expect( + "Can't send mouse input event", + ); } } } @@ -572,32 +616,34 @@ fn show_nvim_start_error(err: nvim::NvimInitError, state_arc: Arc let cmd = err.cmd().unwrap().to_owned(); glib::idle_add(move || { - let state = state_arc.borrow(); - state.nvim.borrow_mut().set_error(); - state.error_area.show_nvim_start_error(&source, &cmd); - state.show_error_area(); + let state = state_arc.borrow(); + state.nvim.borrow_mut().set_error(); + state.error_area.show_nvim_start_error(&source, &cmd); + state.show_error_area(); - Continue(false) - }); + Continue(false) + }); } fn show_nvim_init_error(err: nvim::NvimInitError, state_arc: Arc>) { let source = err.source(); glib::idle_add(move || { - let state = state_arc.borrow(); - state.nvim.borrow_mut().set_error(); - state.error_area.show_nvim_init_error(&source); - state.show_error_area(); + let state = state_arc.borrow(); + state.nvim.borrow_mut().set_error(); + state.error_area.show_nvim_init_error(&source); + state.show_error_area(); - Continue(false) - }); + Continue(false) + }); } -fn init_nvim_async(state_arc: Arc>, - options: ShellOptions, - cols: usize, - rows: usize) { +fn init_nvim_async( + state_arc: Arc>, + options: ShellOptions, + cols: usize, + rows: usize, +) { // execute nvim let mut nvim = match nvim::start(state_arc.clone(), options.nvim_bin_path.as_ref()) { Ok(nvim) => nvim, @@ -611,19 +657,22 @@ fn init_nvim_async(state_arc: Arc>, let guard = nvim.session.take_dispatch_guard(); let state_ref = state_arc.clone(); thread::spawn(move || { - guard.join().expect("Can't join dispatch thread"); + guard.join().expect("Can't join dispatch thread"); - idle_cb_call!(state_ref.detach_cb()); - }); + idle_cb_call!(state_ref.detach_cb()); + }); // attach ui let mut nvim = Some(nvim); glib::idle_add(move || { let mut nvim = nvim.take().unwrap(); - if let Err(err) = nvim::post_start_init(&mut nvim, - options.open_path.as_ref(), - cols as u64, - rows as u64) { + if let Err(err) = nvim::post_start_init( + &mut nvim, + options.open_path.as_ref(), + cols as u64, + rows as u64, + ) + { show_nvim_init_error(err, state_arc.clone()); } else { let mut state = state_arc.borrow_mut(); @@ -651,11 +700,12 @@ fn init_nvim(state_arc: &Arc>) { } #[inline] -fn get_model_clip(state: &State, - line_height: f64, - char_width: f64, - clip: (f64, f64, f64, f64)) - -> ModelRect { +fn get_model_clip( + state: &State, + line_height: f64, + char_width: f64, + clip: (f64, f64, f64, f64), +) -> ModelRect { let mut model_clip = ModelRect::from_area(line_height, char_width, clip.0, clip.1, clip.2, clip.3); // in some cases symbols from previous row affect next row @@ -669,12 +719,14 @@ fn get_model_clip(state: &State, } #[inline] -fn draw_backgound(state: &State, - draw_bitmap: &ModelBitamp, - ctx: &cairo::Context, - line_height: f64, - char_width: f64, - model_clip: &ModelRect) { +fn draw_backgound( + state: &State, + draw_bitmap: &ModelBitamp, + ctx: &cairo::Context, + line_height: f64, + char_width: f64, + model_clip: &ModelRect, +) { let line_x = model_clip.left as f64 * char_width; let mut line_y: f64 = model_clip.top as f64 * line_height; @@ -712,7 +764,7 @@ fn draw_initializing(state: &State, ctx: &cairo::Context) { ctx.paint(); layout.set_font_description(&desc); - layout.set_text("Loading..", -1); + layout.set_text("Loading.."); let (width, height) = layout.get_pixel_size(); let x = alloc.width as f64 / 2.0 - width as f64 / 2.0; @@ -725,17 +777,15 @@ fn draw_initializing(state: &State, ctx: &cairo::Context) { ctx.move_to(x + width as f64, y); - state - .cursor - .as_ref() - .unwrap() - .draw(ctx, - state, - char_width, - line_height, - y, - false, - &state.bg_color); + state.cursor.as_ref().unwrap().draw( + ctx, + state, + char_width, + line_height, + y, + false, + &state.bg_color, + ); } fn draw(state: &State, ctx: &cairo::Context) { @@ -756,21 +806,24 @@ fn draw(state: &State, ctx: &cairo::Context) { for clip_idx in 0..clip_rects.len() { let clip = clip_rects.get(clip_idx).unwrap(); - let model_clip = - get_model_clip(state, - line_height, - char_width, - (clip.x, clip.y, clip.x + clip.width, clip.y + clip.height)); + let model_clip = get_model_clip(state, line_height, char_width, ( + clip.x, + clip.y, + clip.x + clip.width, + clip.y + clip.height, + )); let line_x = model_clip.left as f64 * char_width; let mut line_y: f64 = model_clip.top as f64 * line_height; - draw_backgound(state, - &draw_bitmap, - ctx, - line_height, - char_width, - &model_clip); + draw_backgound( + state, + &draw_bitmap, + ctx, + line_height, + char_width, + &model_clip, + ); for (line_idx, line) in state.model.clip_model(&model_clip) { @@ -785,17 +838,15 @@ fn draw(state: &State, ctx: &cairo::Context) { let (bg, fg) = state.colors(cell); if row == line_idx && col == col_idx { - state - .cursor - .as_ref() - .unwrap() - .draw(ctx, - state, - char_width, - line_height, - line_y, - double_width, - bg); + state.cursor.as_ref().unwrap().draw( + ctx, + state, + char_width, + line_height, + line_y, + double_width, + bg, + ); ctx.move_to(current_point.0, current_point.1); } @@ -807,7 +858,7 @@ fn draw(state: &State, ctx: &cairo::Context) { layout.set_font_description(&desc); buf.clear(); buf.push(cell.ch); - layout.set_text(&buf, -1); + layout.set_text(&buf); // correct layout for double_width chars if double_width { @@ -1064,19 +1115,26 @@ impl RedrawEvents for State { RepaintMode::Area(self.model.cur_point()) } - fn popupmenu_show(&mut self, - menu: &[Vec<&str>], - selected: i64, - row: u64, - col: u64) - -> RepaintMode { + fn popupmenu_show( + &mut self, + menu: &[Vec<&str>], + selected: i64, + row: u64, + col: u64, + ) -> RepaintMode { if let (&Some(line_height), &Some(char_width)) = (&self.line_height, &self.char_width) { let point = ModelRect::point(col as usize, row as usize); let (x, y, width, height) = point.to_area(line_height, char_width); - self.popup_menu - .borrow_mut() - .show(self, menu, selected, x, y, width, height); + self.popup_menu.borrow_mut().show( + self, + menu, + selected, + x, + y, + width, + height, + ); } RepaintMode::Nothing @@ -1093,20 +1151,21 @@ impl RedrawEvents for State { } - fn tabline_update(&mut self, - selected: Tabpage, - tabs: Vec<(Tabpage, Option)>) - -> RepaintMode { + fn tabline_update( + &mut self, + selected: Tabpage, + tabs: Vec<(Tabpage, Option)>, + ) -> RepaintMode { self.tabs.update_tabs(&self.nvim, &selected, &tabs); RepaintMode::Nothing } - - fn mode_info_set(&mut self, - cursor_style_enabled: bool, - mode_info: Vec) - -> RepaintMode { + fn mode_info_set( + &mut self, + cursor_style_enabled: bool, + mode_info: Vec, + ) -> RepaintMode { self.mode.set_info(cursor_style_enabled, mode_info); RepaintMode::Nothing } diff --git a/src/ui.rs b/src/ui.rs index f016ad3..eb418f6 100644 --- a/src/ui.rs +++ b/src/ui.rs @@ -7,7 +7,8 @@ use gtk; use gtk_sys; use gtk::prelude::*; use gtk::{ApplicationWindow, HeaderBar, ToolButton, Image, AboutDialog}; -use gio::{Menu, MenuItem, SimpleAction}; +use gio::prelude::*; +use gio::{Menu, MenuExt, MenuItem, MenuItemExt, SimpleAction}; use settings::Settings; use shell::{Shell, ShellOptions};