Skip to content

Conversation

@jmatsushita
Copy link
Collaborator

@jmatsushita jmatsushita commented Nov 22, 2018

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.

@jmatsushita jmatsushita changed the title Feature/file event #64 File events and sanity checks #64 Nov 22, 2018
do
newBuf <- addBuffer txt
dispatchFileLoaded $ extOf fname newBuf
bufDo_ newBuf (setFilename fname)
Copy link
Owner

@ChrisPenner ChrisPenner Nov 24, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

copy pasta 'FileLoaded event' 😋

data FileLoaded
= FileLoaded Extension BufRef

-- | Trigger an 'App' on a 'Keypress'
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Keypress -> FileLoaded event😛

Copy link
Owner

@ChrisPenner ChrisPenner left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looking good! What do you think about passing the whole FilePath instead of just the extension?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants