1234567891011121314151617181920212223242526272829303132333435363738 |
- /** @hidden */
- export class ShaderCodeCursor {
- private _lines: string[];
- lineIndex: number;
- get currentLine(): string {
- return this._lines[this.lineIndex];
- }
- get canRead(): boolean {
- return this.lineIndex < this._lines.length - 1;
- }
- set lines(value: string[]) {
- this._lines = [];
- for (var line of value) {
- // Prevent removing line break in macros.
- if (line[0] === "#") {
- this._lines.push(line);
- continue;
- }
- const split = line.split(";");
- for (var index = 0; index < split.length; index++) {
- let subLine = split[index];
- subLine = subLine.trim();
- if (!subLine) {
- continue;
- }
- this._lines.push(subLine + (index !== split.length - 1 ? ";" : ""));
- }
- }
- }
- }
|