ajaxorg / ace

Ace (Ajax.org Cloud9 Editor)
https://ace.c9.io
Other
26.54k stars 5.27k forks source link

height-sizing: Vertical scrollbar not showing when editor has less than 3 lines #5494

Open marinsokol5 opened 4 months ago

marinsokol5 commented 4 months ago

Describe the bug

If you create an editor using the minLines/maxLines API, so something like

var editor = ace.edit("editor3");
editor.setOptions({
    maxLines: 2,
    value: "console.log('hello world')\n".repeat(10),
});

which I added to the resize demo: https://github.com/ajaxorg/ace/blob/master/demo/autoresize.html

the vertical scrollbar is not shown for less than 3 lines, see below:

Screenshot 2024-03-05 at 10 48 54

Expected Behavior

I expect it to be shown as a user doesn't have a good indication right now that there is more content underneath.

It's shown for 3 or more lines correctly.

Screenshot 2024-03-05 at 10 54 45

Current Behavior

Scrollbar is not rendered.

Reproduction Steps

var editor = ace.edit("editor3");
editor.setOptions({
    maxLines: 2,
    value: "console.log('hello world')\n".repeat(10),
});

Possible Solution

No response

Additional Information/Context

No response

Ace Version / Browser / OS / Keyboard layout

1.32.6

marinsokol5 commented 4 months ago

Seems to be intentional, the code is in https://github.com/ajaxorg/ace/blob/master/src/virtual_renderer.js#L1053 and https://github.com/ajaxorg/ace/blob/master/src/virtual_renderer.js#L1081.

It might make sense to only enable the vertical scrollbar but not the horizontal one to still allow the Ace as Input component use case.