Switch to c++

This commit is contained in:
2025-12-07 17:22:12 +00:00
parent 2927df7710
commit 7acf35c8ea
55 changed files with 3506 additions and 304 deletions

54
__old__/crib.rb Executable file
View File

@@ -0,0 +1,54 @@
#!/usr/bin/env ruby
require "ffi"
require "zlib"
require_relative "../src/ruby/utils"
require_relative "../src/ruby/mod"
require_relative "../src/ruby/ts_rb"
require_relative "../src/ruby/fm"
require_relative "../src/ruby/editor"
require_relative "../src/ruby/ide"
$rows, $cols = C.start_screen
$running = true
$event_queue = Queue.new
$folder = Dir.new File.dirname(ARGV[0] || Dir.pwd)
$threads = []
at_exit do
IDE.close
C.end_screen
puts "Exiting crib.rb"
end
IDE.start
$threads << Thread.new do
loop do
sleep 1.0 / 64
break unless $running
IDE.handle_event $event_queue.pop timeout: 0 until $event_queue.empty?
IDE.render
C.render
end
end
$threads << Thread.new do
loop do
sleep 1.0 / 64
break unless $running
IDE.work!
end
end
$threads << Thread.new do
loop do
break unless $running
event = C.read_key # read_key is blocking
$running = false if KEY_TYPE[event[:key_type]] == :char && event[:c] == ctrl_key('q')
$event_queue << event
end
end
$threads.each &:join