You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We've recently started using ManyConsole and it's saved us writing the same boiler plate code over and over again.
One small issue that we've encountered is that when in console mode it appears that the command is limited to 256 chars, is this by design or is the some configuration setting that can be changed ?
The problem is caused by the ConsoleModeCommand class using Console.In to return a TextReader then calling the ReadLine method. By default the this is limited to a 255 char line length.
You could use Console.OpenStandardInput instead and wrap it in a StreamReader, the overload allows you to specify a buffer size. You could expose the buffer size as a property of the ConsoleModeCommand. When you come to read from the input stream use the Read method instead of ReadLine.
e.g. _inputStream.Read(buffer, 0, ReadLineBufferSize);
Thanks for the notes. I'm not really in the best place to run the tests and deploy (in Mexico with a Macbook, why did I powershell these things..). If there was a pull request with test I might figure out how to release a new version while traveling.
Activity
fschwiet commentedon Dec 1, 2014
I wasn't aware of that limitation, so it would need to be debugged to find the source. I doubt there is a configuration option.
WilkoSki commentedon Dec 1, 2014
It could be down to the command line parser using a WinApi call. I'll look at the MSDN docs.
Sent from my iPhone
WilkoSki commentedon Dec 2, 2014
The problem is caused by the ConsoleModeCommand class using Console.In to return a TextReader then calling the ReadLine method. By default the this is limited to a 255 char line length.
You could use Console.OpenStandardInput instead and wrap it in a StreamReader, the overload allows you to specify a buffer size. You could expose the buffer size as a property of the ConsoleModeCommand. When you come to read from the input stream use the Read method instead of ReadLine.
e.g. _inputStream.Read(buffer, 0, ReadLineBufferSize);
fschwiet commentedon Dec 3, 2014
Thanks for the notes. I'm not really in the best place to run the tests and deploy (in Mexico with a Macbook, why did I powershell these things..). If there was a pull request with test I might figure out how to release a new version while traveling.