Xavier Nayrac

Accro au TDD, rubyiste mais pas que, maker, heureux utilisateur de Vim.
Si vous vous sentez particulièrement généreux, suivez moi sur Twitter.

Écrire un éditeur pour le terminal - partie 2

| Comments

Niveau : intermédiaire

Comme j’ai eu un peu trop de problêmes à faire tourner ncurses sur plusieurs machines, j’ai décidé de repasser à curses.

Voici donc le programme de la dernière fois, réécrit pour curses:

redvim.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#!/usr/bin/env ruby

require 'curses'
include Curses

file = File.open ARGV[0]

begin
  init_screen
  file.each {|line| addstr(line) }
  refresh
  getch
ensure
  close_screen
end

Un problème avec Unicode ?

Il se peut que vous ayez des problèmes pour afficher correctement les caractères unicode. À tous les coups, c’est parce que la gem curses à été compilée sans les headers indispensables. Installez donc ces headers: libncurses5.dev et libncurses5w.dev, ensuite vous avez deux solutions:

  1. Si vous utilisez Ruby 2.1, désinstallez curses et réinstallez la: gem uninstall curses && gem install curses.
  2. Si vous utilisez Ruby 2.0 ou inférieur, curses fait partie de la bibliothèque standard, c’est donc Ruby qu’il faudra recompiler.

À demain.

Articles connexes

Commentaires