On 18. 5. 26 09:04, Timofei Zhakov wrote:
On Sun, May 17, 2026 at 11:28 PM Branko Čibej <[email protected]> wrote:

    On 10. 5. 26 21:28, Timofei Zhakov wrote:
    On Wed, Apr 29, 2026 at 9:18 PM Daniel Sahlberg
    <[email protected]> <mailto:[email protected]> wrote:
    Den ons 29 apr. 2026 kl 19:23 skrev Timofei Zhakov<[email protected]> 
<mailto:[email protected]>:
    On Wed, Apr 29, 2026 at 5:32 PM Branko Čibej<[email protected]> 
<mailto:[email protected]> wrote:
    On 29. 4. 26 17:09, Timofei Zhakov wrote:

    On Tue, Apr 21, 2026 at 7:02 AM Branko Čibej<[email protected]> 
<mailto:[email protected]> wrote:
    On 20. 4. 26 18:40, Timofei Zhakov wrote:

    Hello all,

    Thanks to everyone following svnbrowse.

    I believe this project has come to a state of a decently stable milestone. 
It
    is capable for general browsing around in a tree and overall interactivity
    feels good.

    However, there are a few things which need some further attention.

    1. Opening a file would crash the entire application; I don't know what the
        best way to display them would be.



    You could do worse than take a page from Norton Commander for DOS.

    https://en.wikipedia.org/wiki/Norton_Commander

    It was THE file browsing/display/edit tool back in the day, and still a 
good example of how a TUI should be designed.

    -- Brane
    I believe it would show the file in an editor/viewer. It is a good user 
experience, but also requires downloading the file which might be complicated 
to implement. It also introduces an unbounded operation.


    "Unbounded" in the sense that it can take a long time, or take a lot of 
space? The file size is known in advance, and we have cancellation callbacks with which 
we can implement timouts. Other than that:
    Both of them I wish we could avoid. The complication would be in a sense 
that a whole text file viewer would need to be implemented. Also how does it 
deal with binary files? I guess special handling forsvn:mime-type.

    It's doable though. We just need to decide how specifically those should be 
handled.
    I think both "download" (=svn export) and "view" (=svn cat) would be
    valuable options.

    Don't know exactly how much we need to special-case binary files in
    "view", it probably depends on what protections ncurses bring towards
    displaying text that could mess up the terminal. If I have committed a
    binary file and I want to view it - why not?
    I fully agree with this being a nice thing to have. As I said, I just
    want to be more realistic and think about how we'd implement and
    maintain this in the real world.

    The original "less" is around ~15 files of code, and sure not all of
    its functionality is what we need plus also we have libsvn_subr with
    some useful stuff not to be written twice, but there is still some
    complexity of making own text pager.


    There is nothing stopping you from launching an external pager,
    you can even restrict it to a "window" within your TUI. On Unix,
    the defaults would be 'more' or 'less'; on Windows, probably
    'more', which is of course as usual functionally deficient. Maybe
    better options exist. In any case, implementing one from scratch
    is ... ahem ... Not Optimal.

Can you? It'd be nice if it's possible, but I'd need to research how to put it in a window inside of another application.


Probably, by intercepting SIGWINCH and playing with geometry query responses. But that's not really a priority. Just launching $PAGER as a child process would be good enough. You may or may not have to redraw the TUI once the pager exits.


    If you start implementing a pager in svnbrowse, I shall have Words
    to say. :)


    By the way, about "download" as you call it, there was a tool called
    ghgrab [1] (that I also took inspiration from when bringing svnbrowse
    here). It focuses on this functionality in particular. So I guess this
    means that this functionality might be demanding.

    Demanding? You mean people might want to have it? Then it would be
    "in demand". Just making sure I understand you.


Sorry, English is not my first language. Yes people would want to open files sometimes, this is what I meant.

Nor mine. Just want to make sure there aren't misunderstandings.

-- Brane

Reply via email to