Emit events on file decoration change
Dependencies
- [2]
WFWTKCJNCreate initial Visual Studio Code extension - [3]
72K45XKDRefactor inline credit to improve hover messages - [4]
YKBMKWDPRefactor event handling to support both namespaces and objects - [5]
VKCHFDMCCreate simple `FileSystemWatcher`
Change contents
- replacement in extensions/vscode/src/vscode_sys/reference.rs at line 4
use super::{SourceControl, SourceControlResourceGroup, TextEditor, TextEditorDecorationType};use super::{EventEmitter, SourceControl, SourceControlResourceGroup, TextEditor, TextEditorDecorationType,}; - edit in extensions/vscode/src/vscode_sys/reference.rs at line 8
object_reference!(EventEmitterRef: EventEmitter); - replacement in extensions/vscode/src/vscode_sys/mod.rs at line 15
class_wrapper, empty_function_caller, field_getter, field_setter, function_caller,function_setter, interface_builder, object_event_handler, static_class_method,class_wrapper, class_wrapper_empty, empty_function_caller, field_getter, field_setter,function_caller, function_setter, interface_builder, object_event_handler, static_class_method, - edit in extensions/vscode/src/vscode_sys/mod.rs at line 89
class_wrapper_empty!(EventEmitter);field_getter! {EventEmitter {// TODO: this should be a typed function"event": get_event -> bindgen_prelude::Unknown<'env>;}}function_caller! {EventEmitter {"fire":fire(data: bindgen_prelude::Object,) -> ();}} - edit in extensions/vscode/src/vscode_sys/mod.rs at line 182
}}field_setter! {FileDecorationProvider {"onDidChangeFileDecorations": set_on_did_change_file_decorations(bindgen_prelude::Unknown); - edit in extensions/vscode/src/vscode_sys/macros/mod.rs at line 11
pub(super) use class::wrapper::class_wrapper_empty;pub(super) use class::wrapper::class_wrapper_inner; - edit in extensions/vscode/src/vscode_sys/macros/class/wrapper.rs at line 3
- replacement in extensions/vscode/src/vscode_sys/macros/class/wrapper.rs at line 5
($class_name:ident($($argument_name:ident: $argument_type:ty),*)) => {($class_name:ident($($argument_name:ident: $argument_type:ty),+)) => {crate::vscode_sys::macros::class_wrapper_inner! {::napi::bindgen_prelude::FnArgs<($($argument_type,)*)>,::napi::bindgen_prelude::FnArgs::from(($($argument_name,)*)),$class_name($($argument_name: $argument_type),+)}};}macro_rules! class_wrapper_empty {($class_name:ident) => {crate::vscode_sys::macros::class_wrapper_inner! {(),(),$class_name()}};}macro_rules! class_wrapper_inner {($constructor_args_type:ty, $constructor_args_initializer:expr, $class_name:ident($($argument_name:ident: $argument_type:ty),*)) => { - replacement in extensions/vscode/src/vscode_sys/macros/class/wrapper.rs at line 38
::napi::bindgen_prelude::FnArgs<($($argument_type,)*)>,$constructor_args_type, - replacement in extensions/vscode/src/vscode_sys/macros/class/wrapper.rs at line 43
constructor_prototype.new_instance(::napi::bindgen_prelude::FnArgs::from(($($argument_name,)*)))?;constructor_prototype.new_instance($constructor_args_initializer)?; - replacement in extensions/vscode/src/vscode_sys/macros/class/wrapper.rs at line 104
let constructor: bindgen_prelude::Function<bindgen_prelude::FnArgs<($($argument_type,)*)>, bindgen_prelude::Object> = vscode_object.get_named_property(stringify!($class_name))?;let constructor: bindgen_prelude::Function<$constructor_args_type, bindgen_prelude::Object> = vscode_object.get_named_property(stringify!($class_name))?; - edit in extensions/vscode/src/vscode_sys/macros/class/wrapper.rs at line 121[2.90642]
pub(crate) use class_wrapper_empty;pub(crate) use class_wrapper_inner; - edit in extensions/vscode/src/lib.rs at line 35
decoration_change_event_emitter: vscode_sys::reference::EventEmitterRef, - edit in extensions/vscode/src/lib.rs at line 273
let decoration_change_event_emitter = extension_state.decoration_change_event_emitter.get_inner(env)?; - edit in extensions/vscode/src/lib.rs at line 297
decoration_change_event_emitter.fire(uri.inner)?; - edit in extensions/vscode/src/lib.rs at line 334
let decoration_change_event_emitter = vscode_sys::EventEmitter::new(env)?;let decoration_change_event = decoration_change_event_emitter.get_event()?; - edit in extensions/vscode/src/lib.rs at line 340
decoration_change_event_emitter: decoration_change_event_emitter.create_ref()?, - replacement in extensions/vscode/src/lib.rs at line 354
let file_decoration_provider =let mut file_decoration_provider = - edit in extensions/vscode/src/lib.rs at line 356
file_decoration_provider.set_on_did_change_file_decorations(decoration_change_event)?;