Class: LanguageServer::Protocol::Interface::FileOperationPattern
- Inherits:
-
Object
- Object
- LanguageServer::Protocol::Interface::FileOperationPattern
- Defined in:
- lib/language_server/protocol/interface/file_operation_pattern.rb
Overview
A pattern to describe in which file operation requests or notifications the server is interested in.
Instance Attribute Summary collapse
-
#attributes ⇒ Object
readonly
Returns the value of attribute attributes.
Instance Method Summary collapse
-
#glob ⇒ string
The glob pattern to match.
-
#initialize(glob:, matches: nil, options: nil) ⇒ FileOperationPattern
constructor
A new instance of FileOperationPattern.
-
#matches ⇒ FileOperationPatternKind
Whether to match files or folders with this pattern.
-
#options ⇒ FileOperationPatternOptions
Additional options used during matching.
- #to_hash ⇒ Object
- #to_json(*args) ⇒ Object
Constructor Details
#initialize(glob:, matches: nil, options: nil) ⇒ FileOperationPattern
Returns a new instance of FileOperationPattern.
9 10 11 12 13 14 15 16 17 |
# File 'lib/language_server/protocol/interface/file_operation_pattern.rb', line 9 def initialize(glob:, matches: nil, options: nil) @attributes = {} @attributes[:glob] = glob @attributes[:matches] = matches if matches @attributes[:options] = if @attributes.freeze end |
Instance Attribute Details
#attributes ⇒ Object (readonly)
Returns the value of attribute attributes.
55 56 57 |
# File 'lib/language_server/protocol/interface/file_operation_pattern.rb', line 55 def attributes @attributes end |
Instance Method Details
#glob ⇒ string
The glob pattern to match. 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`)
33 34 35 |
# File 'lib/language_server/protocol/interface/file_operation_pattern.rb', line 33 def glob attributes.fetch(:glob) end |
#matches ⇒ FileOperationPatternKind
Whether to match files or folders with this pattern.
Matches both if undefined.
43 44 45 |
# File 'lib/language_server/protocol/interface/file_operation_pattern.rb', line 43 def matches attributes.fetch(:matches) end |
#options ⇒ FileOperationPatternOptions
Additional options used during matching.
51 52 53 |
# File 'lib/language_server/protocol/interface/file_operation_pattern.rb', line 51 def attributes.fetch(:options) end |
#to_hash ⇒ Object
57 58 59 |
# File 'lib/language_server/protocol/interface/file_operation_pattern.rb', line 57 def to_hash attributes end |
#to_json(*args) ⇒ Object
61 62 63 |
# File 'lib/language_server/protocol/interface/file_operation_pattern.rb', line 61 def to_json(*args) to_hash.to_json(*args) end |