Module: RuVim::Lang::Typescript

Defined in:
lib/ruvim/lang/typescript.rb

Constant Summary collapse

TS_KEYWORDS =
%w[
  abstract as declare enum implements interface
  module namespace private protected public readonly
  type keyof infer extends
  never unknown any
  override satisfies
].freeze
ALL_KEYWORDS =
(Javascript::KEYWORDS + TS_KEYWORDS).uniq.freeze
KEYWORD_RE =
/\b(?:#{ALL_KEYWORDS.join("|")})\b/

Class Method Summary collapse

Class Method Details

.calculate_indent(lines, target_row, shiftwidth) ⇒ Object



20
21
22
# File 'lib/ruvim/lang/typescript.rb', line 20

def calculate_indent(lines, target_row, shiftwidth)
  Javascript.calculate_indent(lines, target_row, shiftwidth)
end

.color_columns(text) ⇒ Object



32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/ruvim/lang/typescript.rb', line 32

def color_columns(text)
  cols = {}
  Highlighter.apply_regex(cols, text, Javascript::STRING_SINGLE_RE, Highlighter::STRING_COLOR)
  Highlighter.apply_regex(cols, text, Javascript::STRING_DOUBLE_RE, Highlighter::STRING_COLOR)
  Highlighter.apply_regex(cols, text, Javascript::TEMPLATE_RE, Highlighter::STRING_COLOR)
  Highlighter.apply_regex(cols, text, KEYWORD_RE, Highlighter::KEYWORD_COLOR)
  Highlighter.apply_regex(cols, text, Javascript::NUMBER_RE, Highlighter::NUMBER_COLOR)
  Highlighter.apply_regex(cols, text, Javascript::CONSTANT_RE, Highlighter::CONSTANT_COLOR)
  Highlighter.apply_regex(cols, text, Javascript::BLOCK_COMMENT_RE, Highlighter::COMMENT_COLOR, override: true)
  Highlighter.apply_regex(cols, text, Javascript::LINE_COMMENT_RE, Highlighter::COMMENT_COLOR, override: true)
  cols
end

.dedent_trigger(char) ⇒ Object



28
29
30
# File 'lib/ruvim/lang/typescript.rb', line 28

def dedent_trigger(char)
  Javascript.dedent_trigger(char)
end

.indent_trigger?(line) ⇒ Boolean

Returns:

  • (Boolean)


24
25
26
# File 'lib/ruvim/lang/typescript.rb', line 24

def indent_trigger?(line)
  Javascript.indent_trigger?(line)
end