Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

File events and sanity checks #64 #65

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open

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

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.

None yet

2 participants