public CompletionHandler(ILanguageServer router, TextDocumentBuffer bufferManager, DocumentMetadataProvider metadataProvider, ILogger <CompletionHandler> logger) { _router = router; _bufferManager = bufferManager; _metadataProvider = metadataProvider; _logger = logger; }
public MetadataValueProvider( IKeyAccessor keyAccess, DocumentMetadataProvider metadataProvider, Func<DocumentMetadata, object> getter, Action<DocumentMetadata, object> setter ) { KeyAccess = keyAccess; MetadataProvider = metadataProvider; Getter = getter; Setter = setter; }
public MetadataValueProviderCache( DocumentMetadataProvider metadataProvider, IKeyAccessor keyAccess ) { MetadataProvider = metadataProvider; KeyAccess = keyAccess; ValueProviders = new ExclusiveConcurrentDictionary<string, MetadataValueProvider>(); Readers = new Dictionary<string, Func<DocumentMetadata, object>>() { {"_id", x => x._id }, {"_rev", x => x._rev }, {"_attachments", x => x._attachments }, }; Writers = new Dictionary<string, Action<DocumentMetadata, object>>() { {"_id", ( x, v ) => x._id = v.ToString() }, {"_rev", ( x, v ) => x._rev = v.ToString() }, {"_attachments", ( x, v ) => x._attachments = (JObject) v }, }; }