Esempio n. 1
0
        private static MessageFromClient GetCmdByLineMessage(MyCommandLine cmdLine)
        {
            if (!cmdLine.ExistsAll(new [] { PAR_CMD_DOFILE, PAR_CMD_LINE }))
            {
                return(null);
            }

            var fileName = cmdLine.Value(PAR_CMD_DOFILE);

            if (string.IsNullOrEmpty(fileName))
            {
                throw new Exception("File not specified.");
            }

            var lineIndex = cmdLine.Value(PAR_CMD_LINE, 0) - 1; //řádky jsou v VS Code číslovány od jedničky, převádím je tedy na index

            if (lineIndex < 0)
            {
                throw new Exception("Line not specified.");
            }

            //--- vytáhneme příslušný řádek (očekáváme, že řádky jsou číslovány od jedničky)
            var lines = System.IO.File.ReadAllLines(fileName);

            if (lines.Length < lineIndex)
            {
                throw new Exception($"Line {lineIndex+1} in file {fileName} not exists.");
            }

            var command = lines[lineIndex];

            //---

            return(new MessageFromClient
            {
                Command = "CMD",
                Parameters = new List <string> {
                    command
                }
            });
        }