1 ! Copyright (C) 2006, 2009 Slava Pestov
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: cocoa.messages compiler.units core-foundation.bundles
4 hashtables init io kernel lexer namespaces sequences vocabs ;
9 : (remember-send) ( selector variable -- )
10 [ dupd ?set-at ] change-global ;
12 : remember-send ( selector -- )
13 sent-messages (remember-send) ;
15 SYNTAX: -> scan-token dup remember-send suffix! \ send suffix! ;
17 SYNTAX: ?-> scan-token dup remember-send suffix! \ ?send suffix! ;
22 [ <selector> suffix! \ cocoa.messages:selector suffix! ] bi ;
24 SYMBOL: super-sent-messages
26 : remember-super-send ( selector -- )
27 super-sent-messages (remember-send) ;
29 SYNTAX: SUPER-> scan-token dup remember-super-send suffix! \ super-send suffix! ;
33 frameworks [ V{ } clone ] initialize
35 [ frameworks get [ load-framework ] each ] "cocoa" add-startup-hook
37 SYNTAX: FRAMEWORK: scan-token [ load-framework ] [ frameworks get push ] bi ;
39 SYNTAX: IMPORT: scan-token [ ] import-objc-class ;
41 "Importing Cocoa classes..." print
43 "cocoa.classes" create-vocab drop
56 "NSCustomTouchBarItem"
67 "NSNotificationCenter"
76 "NSPropertyListSerialization"
89 ] with-compilation-unit