define("ace/mode/gitignore_highlight_rules", ["require", "exports", "module", "ace/lib/oop", "ace/mode/text_highlight_rules"], function (require, exports, module) {
    "use strict";

    var oop = require("../lib/oop");
    var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;

    var GitignoreHighlightRules = function () {
        this.$rules = {
            "start": [
                {
                    token: "comment",
                    regex: /^\s*#.*$/
                }, {
                    token: "keyword", // negated patterns
                    regex: /^\s*!.*$/
                }
            ]
        };

        this.normalizeRules();
    };

    GitignoreHighlightRules.metaData = {
        fileTypes: ['gitignore'],
        name: 'Gitignore'
    };

    oop.inherits(GitignoreHighlightRules, TextHighlightRules);

    exports.GitignoreHighlightRules = GitignoreHighlightRules;
});

define("ace/mode/gitignore", ["require", "exports", "module", "ace/lib/oop", "ace/mode/text", "ace/mode/gitignore_highlight_rules"], function (require, exports, module) {
    "use strict";

    var oop = require("../lib/oop");
    var TextMode = require("./text").Mode;
    var GitignoreHighlightRules = require("./gitignore_highlight_rules").GitignoreHighlightRules;

    var Mode = function () {
        this.HighlightRules = GitignoreHighlightRules;
    };
    oop.inherits(Mode, TextMode);

    (function () {
        this.lineCommentStart = "#";
        this.$id = "ace/mode/gitignore";
    }).call(Mode.prototype);

    exports.Mode = Mode;
});
