let get_pattern (v : Ed_sourceview.sourceview) it =
  let stop = it in
  let start = it#backward_word_start in
  let word = v#file#buffer#get_text ~start ~stop () in
  let qword = Pcre.quote word in
  let re =
    match v#file#mode with
      None -> Ed_sourceview_rc.default_word_re
    | Some m -> m#word_re
  in
  (word, Pcre.regexp (Printf.sprintf "%s%s" qword re))