* add a quickOpen default mode command and set to edit and fix check against zero in getDefaultOpenMode
* fix typo in comment
* further typo fixes in comment
* add bookmarks menu plugin to traverse a users marked folders
* finalise plugin import only necessary things
make registering a command bound to the class
* add space to beginning of comment
* load and install quick open by adding it to package
use native bookmarks implementation
* remove duplicated bookmarks menu
* set is Dir to public in bookmarks
* add error handling of invalid file paths add comments for future todos
* fix comment typo
* add command to watch quick open extension for dev
* if path is absolute use absolute path otherwise derive path from bse dir or homedir
* add check to return string for classname construction
if only passed single word
also add more token types for reasonml
* add more default tokens
* add css types and increase token colors
* add vscode style token colors for onedark
add functionality to parse the token colors format
* switch oni token style to match vscode
* remove convoluted ternary in flattenTheme
* tweak get key from token color to match updated token style
* import deepmerge avoid type issues via require.default
* fix bad merge in common.ts
* comment out console.log
* fix lint errors
* merge default and theme tokens
* add types for deepmerge and ts-ignore the incorrect package
* fix package json reversions
* remove deepmerge create custom strategy for merging tokens
* fix lint errors
* update tests and fix object.entries (not available in test)
* fix scope fetching in syntax reconciler and make variables more readable
* fix atomic calls length check in synchronizeTokenColors
* Stop inclusion of banned tokens in the syntax highlight reconciler
* rank token scopes by priority and depth
* separate out tokenRanking into a tokenSelector class -> single responsibility principle
* refactor getMatchingToken to use recursive method
* add break clause to function
* fix lint errors
* change test to use foeground instead of foregroundColor
* fix incorrect set fontStyle in vim highlights for italics
prettify comments into jsDoc blocks
* fix comment for TokenScorer
* add initial test for token theme provider
be explicit about passing in the token colors and default to the service
* fix passing in of the token colors as props explicitly
this makes the component (TokenThemeProvider) more testable
* refactor construct className following testing
add passing jest-styled-components test
* refactor constructClassname further to be more fault tolerant
update jest and use test.each for classname testing
* fix failing test re. checking fontsyle for bold and italic
* further tweak to create Classname to further simplify its workings
make get Css Rule should actually return a css rule and not occasionally a boolean
* fix type annotations for getCssRule and ensure str always returned
* add tokenScorer tests and improve copy for themeprovider tests
* Basic code highlights.
* Check if the given language is valid, use auto highlight if not.
* Fix check.
* Set baseUrl as well.
Unrelated to code blocks, but fixes#1653 and is a single line change in the options I've added.
* Bump marked types package number.
* Move style sheet to only markdown preview.
* Swap theme to option.
* Fix review comment from previous PR.
* Fix nohighlights.
* Update tests for Markdown preview.
* Fix lint error.
* Add config option for syntax highlights.
* pull upstream
* add initial attempt to load local prettier not global
* prioritise local prettier over global
* add local dependencies dont rely on global ones
* remove unnecessary fallback arg as fn already returns a fallback
* prettier
* Fix a few small Markdown preview issues.
* Close markdown preview on exit.
* Update marked version.
* Add config option for auto scroll.
* Keep focus on initial split.
* Fix toggle function.
Before the fix was only applied to close.
* Hook up clicking a link to open the Oni browser if activated.
Fixes#2021.
* Fix lint error.
* Update for changed API.
* Update tests.
* Bump package number.
* Update lock file.
* Syntax change.
* Update solarized theme
* Fix background color for solarized
* Fix lint issues
* Add test
* Fix bug when setting colorscheme, where the colorscheme would not always be reported correctly
* Remove file accidentally committed
* add text mate grammar paths to config
* fix typo in php name and rename objc filetypes and extensions
* add python, sh, zsh
* actually add the files
* Fix incorrect dir paths for md syntaxes
* Add initial implementation of prettier plugin
* add config options to test using config functionality
* update config to allow disabling, add status icon
* comment out console.log add check if code is formatted
add initial attempt at cursor position
* fix config to camelcase
* add assets for prettier icon
* add line column and [wip] attempt to return correct cursor pos
* fix cursor positioning
* Remove linecolumn, not working remove prettier asset
more work on cursor positioning
add success and error status icons
* update yarn lock
* Fix eslintrc add allowedFiletypes checking
* add onClick fn to prettier element
add allowedFiletypes option to config
* remove console.logs
* add convert offset function and get cursor offset function
* use vim based byte offset or prettier
* remove unused dependencies
* add install command or prettier plugin
* add install command to plugins command
* update dir or prettier plugin
* relocate prettier plugin to correct dir
* add filepath for parser inference and change icon
* remove extra CR added on joining string
* add printWidth option and add graphql to default fts
* fix print width use number
* add editor config option add
buffer state to track if modified add icon colors
* remove console.log
* conditionally render prettier status item
* minor change to rerun tests
* [WIP] Add prettier-plugin test
* [WIP] comment out test while attempting to test prettier plugin\
* comment out non-functional tests
* re-add commented tests, deactivate prettier test
* Tweak prettier plugin architecture for tests
* comment out ci tests and contiue work on prettier test
* fix config for test, update test [WIP]
* add functioning ci test for prettier
* ensure existence of prettier status item
* add helper functions to common
add new [wip] ci test
* refactor get cursor offset to a get method
make convertCursorPos zero base to march getCursorPos
* add new bufferCursorTest file
* fix missing CI test and remove redundant calc
* remove redundant methods from prettier test
* tweak function to keep state within function rather than globally
move failing windows test to bottom to see if only that test fails
* remove specific use of newline per platform
* switch to a more functional approach
slightly excessive for now but a foundation
for further tweaks in the ongoing development
of this plugin
* fix prettier callback to use new state tracking version
switch to function keyword to ensure applyprettier is hoisted
so callback can reference it
* fix typo and add check in prettier rc function
* use prettier info to poplulate compatible filetypes
* fix incorrect ref to config
* actually remove incorrect conffig ref
* create syntax hl fn WIP
* reduce size of QF containers
* [WIP] initial progress rendering highlights
* get highlights from vim pass these to theme object
* actually add token generator
* re-add main files ........
* fix weird deletion of files
* remove errant console.log
* remove highlighting from docs
switch to string replacement method
* add functionality to specify token in config and themes
* deepmerge config files rather than shallow
* add mergeWith to ensure user theme populated
use token names to generate classes
* re-add code block renderer
* add tslint console disable whilst debugging
* fix lint errors
* add more scopes and associated classes
* fix rendering of hover text YAY!!
split out quickInfo container and pass it its own version of the theme
* add new components file
* refactor IToken structure as per discussions with @bryphe
* remove dead code now new update fn implemented
* convert scopes back to arrays and implement scope population
* fix syntax highlighting reconciliation
* create fn to automate class generation
* add more scopes and falsy check in renderwithclasses fn
* fix syntax highlighting reconciliation
again by omitting newly added vim highlights on search
* add codeblock style and update regexp
* add idea for generating all default token colors
* convert away from using fallback
generate default vim colors on init
* move and tidy up fns
* Add TokenColors service
* Plumb through token colors as dependency
* Fix up issue where the token color event wasn't firing
* Fix lint issues
* tweak highlighting fix rendering bugs
* Plumb token colors through the rest of the way
* Put in a placeholder for converting token style
* Resolve colors to hex
* Start stubbing out a test case for TokenColorsTests
* Update to use real colors
* Update test interfaces, get tests green
* remove console.log
* modularise render prop out tidy up markdown parser
* move styling into render prop so its passed down
* add theme provider to vcs
* rename token generator - probably consolidate in tokencolors
* Fix typing
* Factor MockThemeLoader to separate file
* Bring in bold/italic from nvim_get_hl_by_name
* Remove TODO
* tweak styles and symbols and comments
* rename token generator file aim to consolidate this
* remove split by new lines fn
* switchh to lodash merge and remove ramda
* add semi for markdown config...
* Start refactoring to handle synchronizing token colors
* Hook up synchronization of token colors
* Scope VimHighlights down to the original configuration values
* Stub out tests
* Start stubbing out a mock neovim instance interface for testing requests
* Add simple test cases for NeovimTokenColorSynchronizer
* Fix bold/italic handling
* Fix lint issue
* Return a map of tokens, lines and rules stack
from the token generator
use the line associated with the generated
token to match the line marked passes in
* add more scopes to provider
* ensure arrays are properly merged in provider creating tokens
* hide quick hover if no content, remove ramda types
* add few more tokens
this will be a theme
* add strings to defaults
* fix comment typo remove changes to onedark.json
* add check for null match in hover renderer
* add unit tests for markdown functions and tweak md
to work better based on testing
* remove console.logs
* reduce cursor positioner width FIX word boundary error!!!!!
* add new test [WIP]
* Uncomment test for token generator
* [WIP] add token generator test
* add comment for the convert markdown function
* remove max-width from documentation component - not necessary
* remove test as its value is questionable and
it requires setting up moving json files around
as grammar loader is a dependecy and cant be
used without a valid textmate json file
can look into adding this functionality separately
to test grammar loader
* add spurious change to rerun tests
* re-add code block highlighting
* fix mistakenly placed css
* once again move css as Again missed the target
* Slightly increase timeout
This is because hover rendering now involves
slightly more processing and without it
it appearance is noticeably janky looking
* trim white space if code block to correctly match
remove unadvisable display table css rule
* remove unnecessary newline char
* update yarn lock
* remove code tag as marked provides one
also remove styling as this is actually unnecessary
* Add more tokens to default tokens, improve comments
* revert removal of white-space: pre for code blocks
lack of rule causes weird at a glance issue with larger
code blocks
* fix broken unit test
* Don't use sets as they remove duplicate entries
this is not ideal as hover then has missing keys
plus some functionality can be achieved without sets
* fix up comment
* use dom purify instead of markeds purifier
marked dumps html into the out put which is less
preferable and its sanitizer option breaks highlighting
* fix type annotation - since tss forced me to :(((((
* remove codespan renderer for now
* Add tests for Markdown preview plugin
* Implement plugin API
* Implement mock API for oni-plugin-markdown-preview
* Implement actual tests
* Add custom conf that enables the markdown-preview plugin for testing
* Code Review changes
* Start sketching out window store
* Hook up window split component to store
* Remove unused WindowState file
* Wire up primary split again
* Get windows rendering again
* Set splitId
* Set up editor to grab focus by default, due to timing issue with the redux store implementation
* Get navigation working with parity to functionality today
* Fix lint issues
* Update markdown preview to use new window API
* Bring in latest oni-api
* Merge with focus fix
* Make back/forward items clickable
* Start stubbing out go back command
* Add default bindings for browser commands
* Fix compilation errors
* Add oni-layer-browser to linting, and fix lint issues
* Start creating browser layer
* Move styled-components to external module
* Fix some bugs around the layer rendering, and set up initial browser UX
* Remove extra whitespace
* Fix lint issues
* Tweak styles
* Fix lint issue in test
* Fix lint issue in oni-layer-browser
* [WIP] add solarized theme
* add theme folder
* Add solarized [WIP]
tweak json to match solarized theme
* add further colors to palette
* remove unintentional log
* Remove old solarized.vim split out light/dark
* name of theme in solarized dark
* Stub out some window navigation, and bring in SharedNeovimInstance
* Add SharedNeovimInstance.ts
* Hook up input for sidebar
* Start factoring out shared neovim instance
* Fix compilation errors in SharedNeovimInstance
* Start implementation of MenuBinding
* Got navigation to the right started
* Implement moving back and forth between side bar
* Start styling and differentiating between focus/active
* Fix some lint issues
* Get keyboard accessibility working for sidebar
* Split out Sidebar components
* Bring in colors from theme
* Fix first round of lint issues
* Fix lint issues
* Start file explorer
* Add missed ExplorerSplit file
* Progress on explorer
* Add selector to convert tree to a linear format
* Get initial set of expanded files, hooked up to icons
* Handle overflow and render folders
* Get cycling through left dock panes working
* Start hooking up binding to the Explorer split
* Start hooking up keys and navigation for file explorer
* Add selection capability to the explorer
* Hook up file explorer to workspace manager, instead of hardcoding path
* Use normal-mode highlight color in sidebar for consistency
* Fix first round of lint issues
* Fix remaining lint issues
* Set up infrastructure for handling keybindings for file explorer
* Implement initial 'open file' action
* Set up focus state for core editor
* Add focus state to explorer
* Fix lint issues
* Fix merge conflict
* Only render spacer if there is a sidebar
* Stub out some window navigation, and bring in SharedNeovimInstance
* Add SharedNeovimInstance.ts
* Hook up input for sidebar
* Start factoring out shared neovim instance
* Fix compilation errors in SharedNeovimInstance
* Start implementation of MenuBinding
* Got navigation to the right started
* Implement moving back and forth between side bar
* Start styling and differentiating between focus/active
* Fix some lint issues
* Get keyboard accessibility working for sidebar
* Split out Sidebar components
* Bring in colors from theme
* Fix first round of lint issues
* Fix lint issues
* Add seti icons
* Start prototyping icon provider
* Make progress on applying IconThemes
* Start creating loading loigic for icons
* Move IconThemes
* Got icons rendering
* Add logic to get icon class for file
* Align tab items
* Add a subtle entrance animation
* Refactor to separate files
* Align modified circle with other elements
* Fix lint issues
* Load icon font dynamically
* Add LoadingView / isLoading
* Factor some of the browser configuration logic outside of the start method
* Move theme loading prior to starting the editor
* Add subtle animation, set background color when changing themes
* Fix lint issues
* Refactor LoadingView out to separate file; delay cursor entrance until previous animations complete
* Tweak cursor entrance animation
* Fix lint issue
* Don't gate initialization on editor startup
* Fix up some issues with initialization, especially when Neovim is not available. Clean up color scheme
* Make the entrance animation a bit less intense
* Create component + state management for window title, use frameless window on OSX
* Create connected component to store, hook up title
* Add 'title' colors and update 'onedark.json
* Only show window title on Mac
* Fix lint issues
* Derive the titlebar / background color from the theme color