Exemplo n.º 1
0
            public void WriteMarkers(StreamWriter stream, bool includeBitCounts, MarkerLevel markerLevel)
            {
                var writer = new MarkerTextWriter(stream, includeBitCounts);
                var reader = BrotliFileReader.FromBytes(Contents, Parameters.File.Dictionary, new MarkerSettings(markerLevel, writer));

                while (reader.NextMetaBlock() != null)
                {
                }
            }
Exemplo n.º 2
0
        public MarkerSettings(MarkerLevel level, IMarkerBuilder?builder)
        {
            if (level != MarkerLevel.None && builder == null)
            {
                throw new ArgumentNullException(nameof(builder), "Marker builder must not be null if marking is enabled.");
            }

            this.Level   = level;
            this.Builder = builder;
        }
Exemplo n.º 3
0
            public override void StartChar(UsfmParserState state, string markerWithoutPlus, bool closed, bool unknown, params NamedAttribute[] namedAttributes)
            {
                if (markerWithoutPlus == "w" || markerWithoutPlus == "rb")
                {
                    var markerLevel = new MarkerLevel(state);
                    innerTextBuilder = new KeyValuePair <MarkerLevel, StringBuilder>(markerLevel, new StringBuilder());
                }
                if (markerWithoutPlus == "k" && state.VerseRef.Book == "GLO")
                {
                    var markerLevel = new MarkerLevel(state);
                    innerTextBuilder = new KeyValuePair <MarkerLevel, StringBuilder>(markerLevel, new StringBuilder());
                }

                lastCharMarkerOffset = state.VerseOffset;
                lastCharMarkerVerse  = state.VerseRef.Clone();

                if (unknown)
                {
                    recordError(new VerseRef(state.VerseRef), "\\" + markerWithoutPlus, state.VerseOffset,
                                GetErrorMessage(unknownMarkerMessage, markerWithoutPlus));
                }
                else if (markerWithoutPlus == "rb" && !markerCheck.allowVersion3Usfm)
                {
                    recordError(new VerseRef(state.VerseRef), "\\" + markerWithoutPlus, state.VerseOffset,
                                GetErrorMessage(unsupportedMarkerMessage, markerWithoutPlus));
                }

                if (markerWithoutPlus == prevCharMarker && repeatedCharMarkersWarnings.Contains(markerWithoutPlus))
                {
                    recordError(new VerseRef(state.VerseRef), "\\" + markerWithoutPlus, state.VerseOffset,
                                GetErrorMessage(repeatedCharMarker, markerWithoutPlus));
                }

                if (!closed && MarkerRequiresClose(markerWithoutPlus, state.CharTag))
                {
                    recordError(state.VerseRef, "\\" + markerWithoutPlus, state.VerseOffset,
                                GetErrorMessage(charStyleNotClosedMessage, markerWithoutPlus));
                }

                if (state.ParaTag == null)
                {
                    recordError(new VerseRef(state.VerseRef), "\\" + markerWithoutPlus, state.VerseOffset,
                                GetErrorMessage(charNoParaMessage, markerWithoutPlus));
                }

                if (state.CharTag != null && closed)
                {
                    ValidateAttributes(state, state.CharTag, markerWithoutPlus, namedAttributes ?? new NamedAttribute[0]);
                }

                ValidateCharacterTypeTag(state, markerWithoutPlus);
                emptyChar = true;
            }
Exemplo n.º 4
0
        protected override void Setup(string[] args)
        {
            markerLevel = args[0] switch {
                var x when x == "s" || x == "simple" => MarkerLevel.Simple,
                var x when x == "v" || x == "verbose" => MarkerLevel.Verbose,
                           _ => throw new ArgumentException("Invalid marker type: " + args[0])
            };

            includeBitCounts = args[1] switch {
                var x when x == "y" || x == "yes" || x == "true" => true,
                var x when x == "n" || x == "no" || x == "false" => false,
                           _ => throw new ArgumentException("Invalid includeBitCounts value: " + args[1])
            };
        }
Exemplo n.º 5
0
 public MarkedBitReader(IBitReader wrapped, MarkerLevel level, IMarkerBuilder builder)
 {
     this.wrapped     = wrapped;
     this.builder     = builder;
     this.MarkerLevel = level;
 }