[gnome-builder] Improve Rust snippets



commit 8ed3ab80db00c10e9d99c28564aebfc84c2287b8
Author: Ricardo Silva Veloso <ricvelozo gmail com>
Date:   Thu Jul 11 22:22:42 2019 -0300

    Improve Rust snippets

 src/plugins/snippets/snippets/rust.snippets | 89 ++++++++++++++++++-----------
 1 file changed, 56 insertions(+), 33 deletions(-)
---
diff --git a/src/plugins/snippets/snippets/rust.snippets b/src/plugins/snippets/snippets/rust.snippets
index 6c9fabfb4..357ccda84 100644
--- a/src/plugins/snippets/snippets/rust.snippets
+++ b/src/plugins/snippets/snippets/rust.snippets
@@ -46,14 +46,30 @@ snippet repr
 - desc #[repr(…)]
        #[repr(${1:C})]
        $0
+snippet export_name
+- desc #[export_name]
+       #[export_name = "${1:symbol}"]
+       $0
 snippet link
 - desc #[link(…)]
        #[link(name = "${1:library}")]
        $0
+snippet macro_export
+- desc #[macro_export]
+       #[macro_export]
+       $0
 snippet no_mangle
 - desc #[no_mangle]
        #[no_mangle]
        $0
+snippet no_std
+- desc #![no_std]
+       #![no_std]
+       $0
+snippet no_main
+- desc #![no_main]
+       #![no_main]
+       $0
 snippet inline
 - desc #[inline]
        #[inline]
@@ -104,28 +120,37 @@ snippet drop
                $0
            }
        }
-snippet new
-- desc Create a constructor
-       #[inline]
-       pub fn ${1:new}(${2}) -> Self {
-           Self {}$0
+snippet macro
+- desc Define declarative macro
+       macro_rules! ${1:macro_name} {
+               (${2}) => {
+                       $0
+               };
        }
-snippet builder
-- desc Create a builder
-       struct ${1:Struct}Builder {
-           $0
+snippet proc_macro
+- desc Implement procedural macro
+       #[proc_macro]
+       pub fn ${1:macro_name}(item: TokenStream) -> TokenStream {
+               unimplemented!()$0
        }
-
-       impl $1Builder {
-           #[inline]
-           pub fn new() -> Self {
-               Self {}
-           }
-
-           pub fn build(&self) -> $1 {
-               unimplemented!()
-           }
+snippet proc_macro_attribute
+- desc Implement attribute macro
+       #[proc_macro_attribute]
+       pub fn ${1:attribute_name}(attr: TokenStream, item: TokenStream) -> TokenStream {
+               unimplemented!()$0
        }
+       $0
+snippet proc_macro_derive
+- desc Implement derive macro
+       #[proc_macro_derive(${1:Name})]
+       pub fn derive_${$1|functify}(item: TokenStream) -> TokenStream {
+               unimplemented!()$0
+       }
+snippet spawn
+- desc thread::spawn(…)
+       thread::spawn(move || {
+               $0
+       });
 snippet fn
        fn ${1:function_name}(${2:&mut self}) {
            unimplemented!()$0
@@ -141,19 +166,9 @@ snippet fns
 snippet fnrs
 - desc Create function signature with return
        fn ${1:function_name}(${2:&mut self}) -> ${3:&mut Self};$0
-snippet closure
-- desc Create closure
-       |${1}| {
-           $0
-       }
-snippet move
-- desc Create move closure
-       move |${1}| {
-           $0
-       }
 snippet match
        match ${1:expression} {
-           $0
+               _ => unimplemented!(),$0
        }
 snippet option
 - desc Pattern matching for Option
@@ -195,7 +210,7 @@ snippet whilelet
            $0
        }
 snippet for
-       for ${1:item} in ${2:collection.iter()} {
+       for ${1:item} in ${2:collection} {
            $0
        }
 snippet loop
@@ -218,6 +233,11 @@ snippet let
        let ${1:variable} = ${2:expression};$0
 snippet type
        type ${1:Alias} = ${2:Type};$0
+snippet thread_local
+- desc thread_local! {…}
+       thread_local! {
+               $0
+       }
 snippet vec
 - desc vec![…]
        vec![${1:expression}; ${2:size}]$0
@@ -245,6 +265,9 @@ snippet eprint
 snippet eprintln
 - desc eprintln!(…)
        eprintln!("${1:{}}", ${2:expression})$0
+snippet dbg
+- desc dbg!(…)
+       dbg!(${1:expression})$0
 snippet panic
 - desc panic!(…)
        panic!("${1:{}}", ${2:expression})$0
@@ -252,7 +275,7 @@ snippet unreachable
 - desc unreachable!(…)
        unreachable!("${1:reason}")$0
 snippet unimplemented
-- desc unimplemented!(…)
+- desc unimplemented!()
        unimplemented!()$0
 snippet assert
 - desc assert!(…)
@@ -279,4 +302,4 @@ snippet test
        #[test]
        fn ${1:function_name}() {
            unimplemented!()$0
-       }
\ No newline at end of file
+       }


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]