If you are not redirected automatically, please click here.
これはvim advent calendar2012の155日目の記事です。 ternについて javascriptで書かれたjavascriptの構文解析、型推論library https://github.com/marijnh/tern Marijn Haverbeke氏を中心に開発 browser中にcode editorを提供するjavascript component codemirror の開発者でもある 既存editorでのjavascript開発の改善を目的としており現時点ではemacs, vim, sublimetext, bracketsでternを用いたjavascriptの補完が可能。 tern for vimについて Marijn氏のgithubにternのためのvim scriptのrepositoryがある。 https://github.com/marij
杉の木を伐採しまくるバイトを始める夢を見ました・・・。みなさん、こんにちは nakamura です。 前回 Vim で PHP 開発するための設定 を書きましたが、今回は Vim で javascript を書くための設定をいくつかご紹介しようと思います。(基本は前回 PHP 用に行った設定の javascript 版です) 関数名などの自動補完 PHP と同様に辞書ファイルを用意して neocomplecache で補完するだけです。辞書ファイルは以下からjavascript.dict と jQuery.dict を拝借して $HOME/.vim/dict/ に置きました。 config/vim/dict at master · guileen/config · GitHub (ただちょっと古いんだよな~・・・。自動生成するスクリプト軽く書こうかな・・・。) .vimrc autocmd
jshintのerror出力はwarning出力と同じ処理です。よってvimのerrorformatを使ってエラーメッセージを解析し、そこからエラーの種類を判断しているsyntasticではwarningとerrorの区別ができず、すべてがエラーとして扱われます。 ⚔ 1 foo; ⚔ 2 bar( , , , ); 1行目はfooが未定義というwarning、2行目はシンタックスエラーというerrorです。どちらも直すべきものではありますが、jshintの性質上、特段問題でなくとも++や==をif(cond) return;などを使うと警告を出すことが設定によってはありえます。また設定項目は膨大であり、これを自分が望むように正しく設定するのはjshint初心者には不可能でしょう(参考: うちの発展途上のjshintrc)。その結果、syntasticをインストールしたあと試みに開いたjs
巷で話題の TypeScript なんですがここの動画にあった、TypeScript がリアルタイムで JavaScript に変換されているのが面白くて、Vim でも同じようになってみました。 [必要な設定] set autoread set updatetime=50 let s:system = exists('g:loaded_vimproc') ? 'vimproc#system_bg' : 'system' augroup vim-auto-typescript autocmd! " 適当なタイミングで再読み込み autocmd CursorHold *.ts :checktime autocmd CursorMoved *.ts :checktime " 書き込み時に js に出力する autocmd BufWritePost *.ts :call {s:system}("t
Tags files How do you navigate a Javascript project in Vim? Well, you generate a tags file, and use Vim’s extensive support for tags-based commands. A good Javascript-aware tags file generator is DoctorJS’s jsctags (itself written in Javascript). Problem solved? Not quite. Javascript programming patterns tend to use nested declarations (module pattern, immediately applied function definitions for
最近割と初めてに近いか2回目くらいで、がっつりと Javascript を書いてまして、これまでの minibufexpl プラグインしか入れてない vim だとちょっと開発しづらいのとJavascriptのコーディングを矯正するために lint 等を使用したいので少し環境を整備した。 最終的には以下の5つのツールを導入する。 基盤としている環境は Ubuntu 12.04, vim-gnome vundle minibufexpl.vim Better Javascript Indentation gjslint syntastic vundle プラグイン管理を使う Bundler 的な管理ツールを入れる。 gmarik/vundle · GitHub https://github.com/gmarik/vundle 以前は minibufexpl しか使ってるものが無かったので必要と
npm install npm http GET https://registry.npmjs.org/browserbuild npm http GET https://registry.npmjs.org/source-map npm http 200 https://registry.npmjs.org/source-map npm http GET https://registry.npmjs.org/source-map/-/source-map-0.1.0.tgz npm http 200 https://registry.npmjs.org/browserbuild npm http GET https://registry.npmjs.org/browserbuild/-/browserbuild-0.4.9.tgz npm http 200 https://registr
jscomplete - hogehoge https://github.com/teramako/jscomplete-vim id:basyura さんが neco のプラグインにならないかなぁ(チラチラ と言っていて、恥ずかしながら初めてneocomplcacheがプラグインで拡張できることを知った。 どういう良さがあるのかとかよく分かってないけど、Vim-users.jp - Hack #169: neocomplcacheを拡張する 後編を参考にテストコードを書いて、対応できる確信を得たのでやってみた。 これで、neocomplcacheユーザなら omnifunc の設定なしに jscomplete を使えるようになるので、 autocmd FileType javascript \ :setl omnifunc=jscomplete#CompleteJS が不要になる。
Google JavaScript Style Guideのいいところですが、 規約だけでなく、しっかりしたツールも揃っているところが素晴らしいと思います。 コーディング規約はあったとしても、それに従っているか定期的に簡単にチェックする方法がないと、 いつしか守られないまま開発されてしまうことになりますね。 ※今回の内容はMacにて動作確認を行なっています。
jscomplete-vim teramako/jscomplte-vim - GitHub ちょっとずつ賢くしてます。 +-*/%の演算子の演算を少し加えた。 ただし、数値の演算はかなり適当というか、Vim script に NaN がなく、演算が失敗する時は 0 が返る仕様っぽいため、JavaScriptでは NaN が返るような演算でも 0 を返す仕様(バグ)になっている。数値の演算はプライオリティが低いと見なして現在は放置。 よって、 var o = { NaN: "OK", }; o[10 * "a"]._ // ↑カーソル位置 の様なのは現状はまだ無理。 +αの修正 まず、jscomplete-vimがどんなことをやっているか書こう。 目標は適切なプロパティ名の補完にある。んで、プロパティ名が必要そうな場面は、.か[がある時になる。最終的にはグローバルオブジェクトのプロパティも
https://github.com/teramako/jscomplete-vim 既存のvimに入っているautoload/javascriptcomplete.vimがアレだったので、もう少し賢そうなのを作りたいと思い、作り始めた。 初めてのVim scriptなので拙いコードだと思うけど。ある程度目的は達成できてきたと思うので、GitHubにアップしてみた次第。 .や[後のプロパティ名を補完することが目的。 そのために、ある程度の式をパースし、どんなオブジェクトが返るかを判断する。 "a,b,c,d" .split(",") .map(function(c){ return '"' + c + '"'; }) .join("\n") ._ // ↑カーソル位置 とある場合は、 "a,b,c,d" .split(",") .map(function(c){ return '"' +
vim での JavaScript の構文チェックは jslint.vim を使っていたけど、重かったり、表示が崩れたりしてストレスフルだったので、 最近 Syntastic に乗り換えた。多言語の構文チェック機能があり、JavaScript の構文チェックに限らず大変便利。 Syntastic is a syntax checking plugin that runs files through external syntax checkers and displays any resulting errors to the user. This can be done on demand, or automatically as files are saved. If syntax errors are detected, the user is notified and is hap
JavaScript, Game | 17:11 | CoffeeScriptからenchant.jsを叩いて使ってみたところ、スゴい速さでクロスプラットフォームなゲームができあがって、非常に開発がしやすい感じだったので、今回の開発についてまとめてみました。この方法でゲームを開発すると 実行環境構築が不要で クロスプラットフォームでスマートフォンでも動き 開発しやすく 凄まじい速度でゲーム開発ができます。enchant.jsとは、国産のJavaScriptで実装されたゲームフレームワークです。 ドキュメントやサンプルが充実しており、初学者でも敷居が低いのが特徴です。enchant.js - HTML5 + JavaScript Game Engine CoffeeScriptとは JavaScriptにコンパイルすることができる 文法ミスの場合、コンパイルできないため、エラーに気付きやすい
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く