Vim Advent Calendar 2012の345日目(2013-11-10)の記事です。
普通のWindowsアプリにおいて、擬似的にViエディタのNormal mode編集操作を使えるようにするIMEを作りました。
/* MediaDecoder | |
Author: Andrew Stubbs (based on some examples from the docs) | |
This class opens a file, reads the first audio channel it finds, and returns raw audio data. | |
Usage: | |
MediaDecoder decoder = new MediaDecoder("myfile.m4a"); | |
short[] data; | |
while ((data = decoder.readShortData()) != null) { |
Vim Advent Calendar 2012の345日目(2013-11-10)の記事です。
普通のWindowsアプリにおいて、擬似的にViエディタのNormal mode編集操作を使えるようにするIMEを作りました。
template<typename T> | |
void CCDirector::popSceneWithTransition(float t) { | |
CCAssert(m_pRunningScene != NULL, "running scene should not null"); | |
m_pobScenesStack->removeLastObject(); | |
unsigned int c = m_pobScenesStack->count(); | |
if (c == 0) { | |
end(); | |
} |
// JavaScript function for converting simple XPath to CSS selector. | |
// Ported by Dither from [cssify](https://github.com/santiycr/cssify) | |
// Example: `cssify('//div[@id="girl"][2]/span[@class="body"]//a[contains(@class, "sexy")]//img[1]')` | |
var sub_regexes = { | |
"tag": "([a-zA-Z][a-zA-Z0-9]{0,10}|\\*)", | |
"attribute": "[.a-zA-Z_:][-\\w:.]*(\\(\\))?)", | |
"value": "\\s*[\\w/:][-/\\w\\s,:;.]*" | |
}; |