33 lines
640 B
JavaScript
33 lines
640 B
JavaScript
|
#!/usr/bin/env node
|
||
|
|
||
|
var tty = require('tty')
|
||
|
var cursor = require('../')(process.stdout)
|
||
|
|
||
|
// listen for the queryPosition report on stdin
|
||
|
process.stdin.resume()
|
||
|
raw(true)
|
||
|
|
||
|
process.stdin.once('data', function (b) {
|
||
|
var match = /\[(\d+)\;(\d+)R$/.exec(b.toString())
|
||
|
if (match) {
|
||
|
var xy = match.slice(1, 3).reverse().map(Number)
|
||
|
console.error(xy)
|
||
|
}
|
||
|
|
||
|
// cleanup and close stdin
|
||
|
raw(false)
|
||
|
process.stdin.pause()
|
||
|
})
|
||
|
|
||
|
|
||
|
// send the query position request code to stdout
|
||
|
cursor.queryPosition()
|
||
|
|
||
|
function raw (mode) {
|
||
|
if (process.stdin.setRawMode) {
|
||
|
process.stdin.setRawMode(mode)
|
||
|
} else {
|
||
|
tty.setRawMode(mode)
|
||
|
}
|
||
|
}
|