@ -306,6 +306,7 @@ impl EditorView {
) ,
) ,
cursor_style ,
cursor_style ,
) ;
) ;
// TODO: set cursor position for IME
if let Some ( syntax ) = doc . syntax ( ) {
if let Some ( syntax ) = doc . syntax ( ) {
use helix_core ::match_brackets ;
use helix_core ::match_brackets ;
let pos = doc . selection ( view . id ) . cursor ( ) ;
let pos = doc . selection ( view . id ) . cursor ( ) ;
@ -313,10 +314,15 @@ impl EditorView {
if let Some ( pos ) = pos {
if let Some ( pos ) = pos {
let pos = view . screen_coords_at_pos ( doc , text , pos ) ;
let pos = view . screen_coords_at_pos ( doc , text , pos ) ;
if let Some ( pos ) = pos {
if let Some ( pos ) = pos {
let style = Style ::default ( ) . add_modifier ( Modifier ::REVERSED ) ;
// this only prevents panic due to painting selection too far
surface
// TODO: prevent painting when scroll past x or in gutter
. get_mut ( pos . col as u16 + OFFSET , pos . row as u16 )
// TODO: use a more correct width check
. set_style ( style ) ;
if ( pos . col as u16 ) < viewport . width {
let style = Style ::default ( ) . add_modifier ( Modifier ::REVERSED ) ;
surface
. get_mut ( pos . col as u16 + OFFSET , pos . row as u16 )
. set_style ( style ) ;
}
}
}
}
}
}
}