Conversation
| do | ||
| newBuf <- addBuffer txt | ||
| dispatchFileLoaded $ extOf fname newBuf | ||
| bufDo_ newBuf (setFilename fname) |
There was a problem hiding this comment.
I think we should set the filename first THEN dispatch the event probably :) Remember that even handlers are processed synchronously in-line by default
| data Extension = Extension String | UnknownExtension deriving (Eq) | ||
|
|
||
| data FileLoaded | ||
| = FileLoaded Extension BufRef |
There was a problem hiding this comment.
I think the FileLoaded event should probably just pass the whole filepath and the consumer can pull the extension out themselves if they like.
| = FileLoaded Extension BufRef | ||
|
|
||
| -- | Trigger an 'App' on a 'Keypress' | ||
| onFileLoaded :: (FileLoaded -> App result) -> App ListenerId |
There was a problem hiding this comment.
If we don't plan to use the result for anything I'd prefer we just set it to () for clarity purposes.
| onFileLoaded :: (FileLoaded -> App result) -> App ListenerId | ||
| onFileLoaded actionF = addListener (void <$> actionF) | ||
|
|
||
| -- | Dispatch a 'Keypress' event. |
There was a problem hiding this comment.
copy pasta 'FileLoaded event' 😋
| data FileLoaded | ||
| = FileLoaded Extension BufRef | ||
|
|
||
| -- | Trigger an 'App' on a 'Keypress' |
There was a problem hiding this comment.
Keypress -> FileLoaded event😛
ChrisPenner
left a comment
There was a problem hiding this comment.
Looking good! What do you think about passing the whole FilePath instead of just the extension?
Here's enough file event data to hook the new syntax module. I also added some file related packages to do some basic sanity checks. I guess these will be useful later.