public static string GetTypeNameFromFileKind(BVE5FileKind kind)
        {
            switch(kind){
            case BVE5FileKind.RouteFile:
                return "Route";

            case BVE5FileKind.StructureList:
                return "Structure";

            case BVE5FileKind.StationList:
                return "Station";

            case BVE5FileKind.SignalAspectsList:
                return "Signal";

            case BVE5FileKind.SoundList:
                return "Sound";

            case BVE5FileKind.TrainFile:
                return "Train";

            case BVE5FileKind.VehicleParametersFile:
                return "VehicleParams";

            case BVE5FileKind.InstrumentPanelFile:
                return "Instrument";

            case BVE5FileKind.VehicleSoundFile:
                return "VehicleSound";

            default:
                throw new ArgumentException();
            }
        }
 internal static InitFileParser CreateInitFileParser(BVE5FileKind kind)
 {
     var header_str = (kind == BVE5FileKind.TrainFile) ? "BveTs Train" :
         (kind == BVE5FileKind.VehicleParametersFile) ? "BveTs Vehicle Parameters" :
         (kind == BVE5FileKind.InstrumentPanelFile) ? "Version" :
         (kind == BVE5FileKind.VehicleSoundFile) ? "Bvets Vehicle Sound" : null;
     return new InitFileParser(header_str, kind);
 }
 internal static BVE5CommonParser CreateCommonParser(BVE5FileKind kind)
 {
     var header_str = (kind == BVE5FileKind.StructureList) ? "BveTs Structure List" :
         (kind == BVE5FileKind.StationList) ? "BveTs Station List" :
         (kind == BVE5FileKind.SignalAspectsList) ? "BveTs Signal Aspects List" :
         (kind == BVE5FileKind.SoundList) ? "BveTs Sound List" : null;
     return new BVE5CommonParser(header_str, kind);
 }
 /// <summary>
 /// Initializes a new instance of <see cref="BVE5Language.Parser.InitFileParser"/>.
 /// </summary>
 /// <param name="headerString">The header text that will be verified if parseHeader option is specified.</param>
 /// <param name="fileKind">The file type which the parser is supposed to parse. This will be used for displaying type-specific errors.</param>
 public InitFileParser(string headerString, BVE5FileKind fileKind)
 {
     MetaHeaderRegexp = new Regex(headerString + @"\s*([\d.]+)", RegexOptions.Compiled | RegexOptions.IgnoreCase);
     FileKind = fileKind;
 }
 internal BVE5CommonFileCompleter(BVE5FileKind kind)
 {
     SemanticInfo = BVE5ResourceManager.CommonFileSemanticInfos[kind.ToString()];
     parser = ParserFactory.CreateCommonParser(kind);
     this.kind = kind;
 }
 internal BVE5CommonFileInsightWindowHandler(BVE5FileKind kind, BVE5CommonFileCompleter completer)
 {
     this.kind = kind;
     this.completer = completer;
 }
 internal BVE5InitFileCompleter(BVE5FileKind kind)
 {
     SemanticInfo = BVE5ResourceManager.InitFileSemanticInfos[kind.ToString()].SemanticInfos;
     parser = ParserFactory.CreateInitFileParser(kind);
 }