Squeak Tips

フォーマット(pretty print)の際、'←'ではなく':='を使用する

AssignmentNode >> printOn:indent: を書き換える。

printOn: aStream indent: level
    aStream dialect = #SQ00
        ifTrue: [aStream withStyleFor: #setOrReturn do: [aStream nextPutAll: 'Set '].
                variable printOn: aStream indent: level.
                aStream withStyleFor: #setOrReturn do: [aStream nextPutAll: ' to '].
                value printOn: aStream indent: level + 2]
        ifFalse: [variable printOn: aStream indent: level.
                aStream nextPutAll: ' := '.
                aStream nextPutAll: ' ← '.
                value printOn: aStream indent: level + 2]

フォーマット実行(pretty print)をショートカットキーに割り当てる

ParagraphEditor >> prettyPrintCommand を定義する。(editing keys プロトコルに追加)

prettyPrintCommand: characterStream 
    sensor keyboard.
    self prettyPrint.
    ^ true

ParagraphEditor class >> initializeCmdKeyShortcuts を書き換える。

initializeCmdKeyShortcuts
    | cmdMap cmds |
    cmdMap := Array new: 256 withAll: #noop:.  "use temp in case of a crash"
    cmdMap at: (1 + 1) put: #cursorHome:.      "home key"
            ・
            ・(中略)
            ・
        $t    tempCommand:
        $u    align:
        $v    paste:
        $w    prettyPrintCommand:
        $w    backWord:
        $x    cut:
        $y    swapChars:
        $z    undo:
    ).
    1 to: cmds size by: 2 do: [ :i |
        cmdMap at: ((cmds at: i) asciiValue + 1) put: (cmds at: i + 1).
    ].
    CmdActions := cmdMap

最後に以下を"do it"。

ParagraphEditor initialize

以後、command-key(or alt-key) + w でフォーマットが実行される。

.changesファイルを使用しない

.changesファイルをシステムから切り離したい場合には以下を"do it"する。 変更の書き込みやソースの参照が行われなくなる。

Preferences setPreference: #warnIfNoChangesFile toValue: false

valueにtrueを指定して"do it"するともとに戻る。
なおこの設定は、[WorldMenu] → [appearance...] → [preferences...] で開くダイアログの [general] タブから変更することもできる。

プラットフォームを識別する

Squeakが動作しているプラットフォームを識別する。

Smalltalk platformName

==>  'Win32'


SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送