1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- using System;
- using System.IO;
- using System.Linq;
- namespace csharp_sccd_compiler
- {
- public class FileOutputer
- {
- int indent_level = 0;
- int nr_of_indent_chars = 4;
- char indent_char = ' ';
- bool first_write = true;
- StreamWriter output_file;
- public FileOutputer(string output_file_path)
- {
- this.output_file = new StreamWriter(output_file_path, false);
- }
- public void write(string text = "")
- {
- if (this.first_write)
- {
- this.first_write = false;
- this.output_file.Write(new String(this.indent_char, this.indent_level * this.nr_of_indent_chars) + text);
- }
- else
- {
- this.output_file.WriteLine();
- this.output_file.Write(new String(this.indent_char, this.indent_level * this.nr_of_indent_chars) + text);
- }
- }
- public void extendWrite(string text = "")
- {
- this.output_file.Write(text);
- }
- public void indent()
- {
- this.indent_level += 1;
- }
- public void dedent()
- {
- this.indent_level -= 1;
- }
- public void close()
- {
- this.output_file.Close();
- }
- }
- }
|