class LanguageServer::Protocol::Interface::FileSystemWatcher

Attributes

attributes[R]

Public Class Methods

new(glob_pattern:, kind: nil) click to toggle source
# File lib/language_server/protocol/interface/file_system_watcher.rb, line 5
def initialize(glob_pattern:, kind: nil)
  @attributes = {}

  @attributes[:globPattern] = glob_pattern
  @attributes[:kind] = kind if kind

  @attributes.freeze
end

Public Instance Methods

glob_pattern() click to toggle source

The glob pattern to watch.

Glob patterns can have the following syntax:

  • `*` to match one or more characters in a path segment

  • `?` to match on one character in a path segment

  • `**` to match any number of path segments, including none

  • `{}` to group sub patterns into an OR expression. (e.g. `**​/*.{ts,js}`

matches all TypeScript and JavaScript files)

  • `[]` to declare a range of characters to match in a path segment

(e.g., `example.` to match on `example.0`, `example.1`, …)

  • `[!…]` to negate a range of characters to match in a path segment

(e.g., `example.` to match on `example.a`, `example.b`, but not `example.0`)

@return [string]

# File lib/language_server/protocol/interface/file_system_watcher.rb, line 30
def glob_pattern
  attributes.fetch(:globPattern)
end
kind() click to toggle source

The kind of events of interest. If omitted it defaults to WatchKind.Create | WatchKind.Change | WatchKind.Delete which is 7.

@return [number]

# File lib/language_server/protocol/interface/file_system_watcher.rb, line 40
def kind
  attributes.fetch(:kind)
end
to_hash() click to toggle source
# File lib/language_server/protocol/interface/file_system_watcher.rb, line 46
def to_hash
  attributes
end
to_json(*args) click to toggle source
# File lib/language_server/protocol/interface/file_system_watcher.rb, line 50
def to_json(*args)
  to_hash.to_json(*args)
end