ManyConsole icon indicating copy to clipboard operation
ManyConsole copied to clipboard

ConsoleModeCommand limited to 256 chars

Open WilkoSki opened this issue 10 years ago • 4 comments

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 ?

WilkoSki avatar Dec 01 '14 15:12 WilkoSki

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.

fschwiet avatar Dec 01 '14 19:12 fschwiet

It could be down to the command line parser using a WinApi call. I'll look at the MSDN docs.

Sent from my iPhone

On 1 Dec 2014, at 19:05, fschwiet [email protected] wrote:

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.

— Reply to this email directly or view it on GitHub.

WilkoSki avatar Dec 01 '14 19:12 WilkoSki

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);

WilkoSki avatar Dec 02 '14 17:12 WilkoSki

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.

fschwiet avatar Dec 03 '14 00:12 fschwiet