Xavier Nayrac

Rubyiste accro au TDD, serial blogger, apprenti data scientist, heureux utilisateur de Vim, accordéoniste.
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