tokenize function

Iterable<KeytabToken> tokenize(
  1. String source
)

Implementation

Iterable<KeytabToken> tokenize(String source) sync* {
  final lines = source.split('\n');

  for (var i = 0; i < lines.length; i++) {
    var line = lines[i].trim();
    line = line.replaceFirst(RegExp('#.*'), '');

    if (line == '') {
      continue;
    }

    if (_isKeyboardNameDefine(line)) {
      yield* _parseKeyboardNameDefine(line);
    }

    if (_isKeyDefine(line)) {
      yield* _parseKeyDefine(line);
    }
  }
}