textarea で動く劣化コピー xml-mode

まだまだバグがあるんだけど、ぶっちゃけ微妙に飽きてきたので公開 (してモチベーションあげる作戦)。Firefox でしか確認してない。IE では絶対動かないだろう。Opera でもたぶん動かないだろう。問題なのは setSelectionRange, selectionStart。綺麗にクロスブラウザ化するスクリプトをどっかで見たけどまぁいいや。

keydown/keyup は shift とかを単体で押しても反応しやがるので困った。keypress はイベント発生時点で、まだ textarea.value に文字が入力されないのが困った。かなりキモイ方法で解決したけど、スマートなのは keypress 単体を使って、文字入力をキャンセルする方法かなぁ。できなかったけど。

キャレット位置がおかしいバグがなおせたらそこそこ実用になるかな。

dump() しまくってるので Fx のコンソール表示させてると楽しいですよ。なにがだよ?

TAB 以外の文字でのインデントは一切考えていません。必要性を感じませんから。

  • 属性に / を書こうとすると空要素タグ補完されてうざい。文字列の中にいるか外にいるか調べられればいいんだけどうまくいかない。タグの中の "[^"]*" をスキャンするとかなんとか。
  • たまに補完後のキャレットの位置がおかしい。原因・再現性不明
  • CDATA を見事に無視してインデントする。そんなに難しくないと思うけど、面倒くさいと思う。大して使わないのでどうでもいいちゃどうでもいい。
  • <empty-tag /></close-tag> みたいなときインデント崩れる。原因は空要素タグを最初から無視しているせいなんだけど、これ修正するのはめんどい。
  • 一通り実装終わり。CDATA のインデント無視も動いてるっぽい。俺的に汚いソースを書くとインデントが崩れる素晴らしい仕様に(わらい
    1. トップ
    2. script
    3. xml-mode in textarea
    1. トップ
    2. js
    3. xml-mode in textarea
    1. トップ
    2. web
    3. xml-mode in textarea

    というか二年次にあがれるんだろうか、とか思いつつ。あれ本当に微妙に危険な香り。2-3個落としそうだよなぁ。いくつ落としたらだめなんだっけなぁ。えーっと専門26単位必修で、20単位取得できないと二年次になれない。っていうかやばくね。やばくね。いまさら感が激しいけどやばくね。どうしよ。どうしよう? よく考えると教養科目を今年度とってないな。やばいな素で。まぁ仕方ないよなぁ。はぁ。

    まぁどうにかなるよなぁ。なってほしい。なれよ。とにかく、二年次で情報システム関係にいくか情報デザイン関係にいくか微妙に迷ってたんだけど、情報デザインのほうがよさげなのでとりあえず決定。グループワークが多いらしいのが不安だけど、結局そのうちやることになるから仕方ないか、と、いう、か、殆ど学校で口開かないのは危険なんじゃと思い始めた。挨拶ぐらいしかせんな。

    最近現実に対してリアルに諦めはじめて、リアリティにとんだ夢の世界のほうがリアルにいいんじゃないかと思いはじめた。結局いま見ている風景とか、街で歩きタバコしている宇宙人とか、どこに伝えたいことがあるのかわからない音楽とか、そういうのもとかも、無意識のうちに自分が望んで見ているものなわけで、この世界のこの地域の言語でいうならまさしく幻想というか、限りなく中核に近いところで繰り広げられるパッチワークに対して面白さを抱けないみたいな。でもこんな考えもそのパッチワークに含まれた布切れの一部で、実際にはまったく中核に近づいていない可能性もあったりするのだけれど、これまたどうしてもこの考えが間違っているとは思えない。そういう世界、で片付いてしまうのはつまらないけど、現実的だと思う。無意識が無限大に近いような世界フレームを繋ぎ合わせて、脳に刻み込んでいくだけ。「脳」も「無意識」も象徴的でしかない。象徴というか比喩か。どっちでもいいんだ。結局今この世界の中で、この世界について正確に記述することは絶対に不可能だから。この世界は「脳」で考えている、ということになっているだけ。本当は「他人」すら存在しない。つまんないなぁ。無限再帰ループ。alert() はマジでうざいからはやく対処法ください。

    1. トップ
    2. life
    3. 二年次専攻コース洗濯
    1. トップ
    2. school
    3. 二年次専攻コース洗濯