The JP Software command line interpreters have had a text / hex file viewer all the way back to the early days of 4DOS.
The internal LIST command was relatively small, fast, handled any size file, and you could search using wildcards, hex values, and regular expressions. There were other more fully-featured (and much larger) file viewers out there (notably Vernon Buerg’s LIST.COM), but LIST did the job adequately for most users for years. But LIST suffered from feature creep more than most other internal commands — it was never designed to handle the additional options that users were demanding. And the advent of Take Command v9 made LIST’s drawbacks even more pronounced, making it painfully obvious that LIST was still a console mode command that was uncomfortably stuffed into a GUI window.
By the time I was working on the design for Take Command v12, the backlog of feature requests for LIST was getting out of hand (much more than any other internal command). Unfortunately, my ability to actually implement those feature requests was shrinking even faster. It was time to abandon LIST as it was and start with a new design. It was also clear that this was going to be a major undertaking, and it wasn’t going to be possible in the v12 timeframe. So with a sigh (of relief) I pushed it back to v13.
By the time the v13 design process started, I knew that I had a LOT of work ahead. The easiest approach would be to take the Scintilla editor used in the Take Command IDE / batch debugger and use it in read-only mode. It was fast, looked good, and had a nice set of internal functions + external plugins. It also had one drawback — it had to load the entire file in memory, so it was limited in practice to files no more than a few hundred megabytes (maybe a gigabyte or two for 64-bit Windows). This didn’t particularly bother me, as I couldn’t remember the last time I had wanted to look at a file that size. But when I suggested it to the beta testers, they were adamant about wanting unlimited file sizes.
Back to the drawing board. While I was preparing a gloomy estimate of several month’s development time for the new LIST, a couple of the beta testers suggested I look at V – The File Viewer, created by Charles Prineas. I had been aware of the existence of V for several years, but had never spent any time trying it out. I downloaded it and gave it a thorough trial. I was very impressed at its capabilities — and somewhat depressed at the thought of having to duplicate them! V has a lot of features (like the Explorer windows) that were already implemented in Take Command, but even just its core file viewing capabilities far outstripped what was available in LIST.
But maybe there was an alternative to reinventing the wheel. What if I could convince Charles to license a version of V for Take Command that only included the file viewing functionality? I’d get back several months of development time that I could spend on other features (for example, Command Dialogs) and the users would get nearly all of their LIST feature wishes fulfilled.
Next: LIST vs. VIEW, and overcoming NIH symdrome.