azcli.js 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. /*---------------------------------------------------------------------------------------------
  2. * Copyright (c) Microsoft Corporation. All rights reserved.
  3. * Licensed under the MIT License. See License.txt in the project root for license information.
  4. *--------------------------------------------------------------------------------------------*/
  5. define(["require", "exports"], function (require, exports) {
  6. 'use strict';
  7. Object.defineProperty(exports, "__esModule", { value: true });
  8. exports.conf = {
  9. comments: {
  10. lineComment: '#',
  11. }
  12. };
  13. exports.language = {
  14. defaultToken: 'keyword',
  15. ignoreCase: true,
  16. tokenPostfix: '.azcli',
  17. str: /[^#\s]/,
  18. tokenizer: {
  19. root: [
  20. { include: '@comment' },
  21. [/\s-+@str*\s*/, {
  22. cases: {
  23. '@eos': { token: 'key.identifier', next: '@popall' },
  24. '@default': { token: 'key.identifier', next: '@type' }
  25. }
  26. }],
  27. [/^-+@str*\s*/, {
  28. cases: {
  29. '@eos': { token: 'key.identifier', next: '@popall' },
  30. '@default': { token: 'key.identifier', next: '@type' }
  31. }
  32. }]
  33. ],
  34. type: [
  35. { include: '@comment' },
  36. [/-+@str*\s*/, {
  37. cases: {
  38. '@eos': { token: 'key.identifier', next: '@popall' },
  39. '@default': 'key.identifier'
  40. }
  41. }],
  42. [/@str+\s*/, {
  43. cases: {
  44. '@eos': { token: 'string', next: '@popall' },
  45. '@default': 'string'
  46. }
  47. }]
  48. ],
  49. comment: [
  50. [/#.*$/, {
  51. cases: {
  52. '@eos': { token: 'comment', next: '@popall' }
  53. }
  54. }]
  55. ]
  56. }
  57. };
  58. });