Module: Kapusta::LSP::Identifier

Defined in:
lib/kapusta/lsp/identifier.rb

Constant Summary collapse

DELIM_CHARS =
'()[]{}";`,'

Class Method Summary collapse

Class Method Details

.valid_constant_segment?(segment) ⇒ Boolean

Returns:

  • (Boolean)


23
24
25
# File 'lib/kapusta/lsp/identifier.rb', line 23

def valid_constant_segment?(segment)
  !segment.nil? && segment.match?(/\A[A-Z]\w*\z/)
end

.valid_local?(name) ⇒ Boolean

Returns:

  • (Boolean)


12
13
14
15
16
17
18
19
20
21
# File 'lib/kapusta/lsp/identifier.rb', line 12

def valid_local?(name)
  return false if name.nil? || name.empty?
  return false if name.match?(/\s/)
  return false if name.match?(/[#{Regexp.escape(DELIM_CHARS)}]/o)
  return false if name.match?(/\A-?\d/)
  return false if name.include?('.')
  return false if Kapusta::Compiler::SPECIAL_FORMS.include?(name)

  true
end