Commit Graph

1798 Commits

Author SHA1 Message Date
Ryan C 898416e8c2 Add Frederick as a backer - thank you! :) (#2594) 2018-09-28 08:06:25 -07:00
Bryan Phelps d448d49908
Update AppVeyor auth token (#2588) 2018-09-27 20:15:23 -07:00
Bryan Phelps f3abb23621
Travis: Roll back yarn to an earlier version (#2589)
* Try rolling back yarn to older version

* Try alternate way to downgrade yarn

* Bring back yarn install call

* Try removing version of yarn that gets picked up over the npm installed version
2018-09-27 18:29:59 -07:00
Ryan C 6af7221ae7
Hook up showing files in hidden folders in QuickOpen. (#2531)
* Hook up showing files in hidden folders in QuickOpen.

* Lets enable by default.
2018-09-27 19:16:35 +01:00
Jonatan Alexis Anauati 1f2c553709 Reduce scroll threshold. (#2551) 2018-09-27 19:00:11 +01:00
Akin 8cdc82c86f
switch reason ml textmate grammar to sane reasonml grammar (#2579) 2018-09-26 17:10:27 +01:00
Manuel Hornung aecf5c6de0
WebGL Renderer Ligatures (#2560)
* Tokenize rendered cells based on style and whitespace
* Manually evaluate system font files to determine character sequences to render together
* Render ligatures as one single token in the WebGL Atlas
* Use font weight setting in the WebGL Renderer
* Prefill atlas with the visible ASCII characters for optimization
* Simplify lookup of rendered glyph information
* Code style adjustments and refactorings for readability
2018-09-24 05:02:07 -07:00
Ryan C 6bbb5418cb Extra Highlight/Cell info (#2566)
Hook up undercurl and special colour through to the ICell
2018-09-24 02:19:45 -07:00
Bryan Phelps 966fd2ccb1 Add Tercio de Melo as a backer - thank you! :) 2018-09-10 18:11:51 -07:00
Bryan Phelps 29a9e1c49b Add Trevor as a backer - thank you! :) 2018-09-10 18:09:20 -07:00
Akin e6595e6283
Feature/add bookmarks menu (#2554)
* 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
2018-09-10 11:54:19 +01:00
Akin a4c8515d62
Feature/fix remaining welcome commands (#2533)
* rename commands in welcome

* fix welcome commands make open welcome a separate method
add a command for this
add helper method to check a users binding

* add lint ignore comment

* update tests to match new commands

* add tests for the welcome layer itself

* add small explainer comment

* add parens to call the open config function on click

* fix command palette button and naming on welcome screen

* update welcomelayer test, convert commands view to sfc

* update snapshot

* fix command rename in mock for commands view
2018-09-10 11:53:34 +01:00
Manuel Hornung 5c5beef05c
Merge pull request #2561 from Akin909/bugfix/fix-hero-screenshot-test
Bugfix/fix hero screenshot test
2018-09-10 09:13:07 +02:00
Akin909 5294b69e54 fix lint errors 2018-09-10 00:02:00 +01:00
Akin909 6e7cbdcc7c switch heroscreenshot to use method in common utils 2018-09-09 23:49:21 +01:00
Akin 5238600911
Feature/change token format (#1705)
* 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
2018-09-09 22:51:04 +01:00
Akin 663b877202
Bugfix/fix tabs focus state border regression (#2558)
* fix tabs highlight state border top styling regression

* tidy up tests

* extra clause to tests
2018-09-09 22:33:51 +01:00
Paul Roberts bd94771cce Upgrade electron to 2.0.8 to fix glibc version issue (#2555)
This should fix #2497, but I haven't encountered the issue on my Ubuntu machine as 18.04 is still on glibc 2.27.
2018-09-08 12:11:08 +01:00
Akin af03770f37
Feature/convert tabs to styled components (#2544)
* Fix HeroScreenshot

* Refactor Tabs

* fix incorrect merge changes

* fix tests and remove use of withProps

* fix styles type tidy up styling add inactive tab styles

* remove active/inactive styling - separate pr

* remove classnames as it is now unused
fixed bad merge in hero screenshot

* completely revert get completion element change

* re-add function to return class name base on tab status for testing

* switch off verbose setting and properly pass in name to tab

* add back the tab className to tabs

* use data-id in tab and buffer modified test and create get tab utility

* add active tab styling to the available theming options

* default original bkg color with active ones

* rename inactiveTab styles to just tab.active..., matches vs plus is simpler

* create utility functions for testing tabs and add less brittle test identifiers

* fix lint errors

* update snapshot

* Remove defaults in theme manager as the defaulting strategy causes strange results
instead manually *consiously* default inside the component

* add themeGet helper function stolen from styled-system
add scrollbar customisability

* fix jsdoc...
2018-09-04 19:05:19 +01:00
Akin 54783cce03
Bugfix/missing details quickopen (#2545)
@CrossR this fixes the issues raised after merging #2542 (can you give it a try when your free) - cherry picked a commit and some weird things happened (re. cause) - 

~As a side note not sure what exactly to do about the `less` components, as the longer we have these components not converted the harder it becomes to refactor as new contributor or collaborators end up tweaking things in those components so they become a little more entrenched there aren't many left but it might be worth holding off changes to affected components till the conversions are done or having some conversion be a part of changing those components 🤷‍♂️~

I'll focus my next few PRs on converting all them over in small chunks
2018-09-04 19:04:31 +01:00
Akin 990859b925
Feature/convert menu context menu styled components (#2542)
* Migrate ContextMenu.less to styled-components

* remove context menu (remaining from messed up cherry pick

* fix removal of context menu from css and position of layer css

* remove references to this._colors as it is largely unused,
instead get colors from theme (sc)

* update context menu test

* fix lint errors and add a snapshot test

* fix moar lint errors

* fix ANOTHER lint error

* remove snapshot

* add a data-id and update check for autocompletion component
2018-09-02 23:55:48 +01:00
Akin 9cf1d05433
Feature/vcs manager styling improvements (#2536)
* add octicons to vsc components

* update component tests

* fix lint errors
2018-09-02 23:46:56 +01:00
Akin c06df641ff
Feature/ switch explorer rendering to use react-virtualized (#2182)
* experiment with changing scrollIntoView fn in explorer

* switch to using react virtualized to render explorer

* add react virtualised list and typescript Styled components plugin

* add missing style item to rowrenderer which fixes scrolling

* add key as per docs example

* update snapshot test for explorer

* add ability to dynamically calculate row with inputs

* remove overscan rows

* re-add overscan re-trigger build

* use ui.fontSize for row sizing

* destructure vars (primarily to trigger re-test)

* switch scroll to alignment to end as center causes scroll lag

* add font size in px function switch to cell measurer

* add the definition file for units-css

* update jest mocks

* remove shadowed variable in explorer

* update react-virtualized and its types to fix type errors

* prettier lint fix for performance config

* lint fix

* merge upstream

* fix double border in sidebar item component
also recalculate height when component yanrk status changes

* separate should measure calculation into function
add iss selected check to it

* restructure comparison function to be more readable and work hopefully

* use cache clear and recompute row height for list resizing

* add is or was selected to props checked component did update check

* remove outline from List, separate out should measure

* switch to using _oni in explorer split

* prettier fix

* fix missing space on left edge of container component
add helper for quickly adding types for styled component oni props

* remove unnecessary type annotation

* use pixel function from common in sidebar items

* fix lint error

* remove unnecessary dependency and associated utility
use more thorough method for checking if props changed
simplify sidebar items components

* fix lint error

* remove references to unused fontsize prop

* remove measurement from node entirely
switch to invalidating the cache if yanking, pasting etc occur
2018-09-01 22:23:50 +01:00
Ryan C f5ca695205
Fix CURRENT_MONTH Snippet variable. (#2530)
* Swap month to stop it being zero indexed.

* Add a few of the other data variables.

Also added some of the other variables commented out, to be added later.
2018-09-01 21:54:26 +01:00
Matthew McLennan 98d129ecb1 Feature/added csharp textmate grammar (#2539)
* Added textmate grammar for csharp

* changed csharp extension folder structure to match other languages
2018-09-01 19:37:44 +01:00
Paul Roberts 4bdbdc5ff2 Fix for #2046 Autocomplete/Suggestions don't scroll (#2529)
Potential fix for the issue described in #2046
2018-08-31 23:40:29 +01:00
Paul Roberts 487d537836 Fix for next/previous command errors (#2535)
This should fix #2534
2018-08-31 22:55:13 +01:00
Akin 5beff5f766
Feature/add sessions to welcome (#2527)
* create a helpers class to source the active section

* [WIP] add createWelcome function in editor

* implement an input handler for welcome buffer layer

* convert adhoc styles to styled components

* improve typing of commands
fix navigation of commands

* fix lint errors

* more lint fixes

* remove deprecated extend function

* add welcome layer test and fix types and typo

* add test of enter event

* remove welcome active boolean

* remove unused var

* add initial [WIP] ci test for welcome layer

* add new commands to Oni and use in welcome buffer
create common getBorder function

* remove z-index from neovim surface fix welcome tests

* add current layer is active check to see if layer should intercept input
move quick commands to the top of the welcome screen
fix getBorder function to return default border of same size

* revert vim navigator to master and move changes to a separate branch

* remove commented out line from editor file

* rename welcome screen event for clarity

* add Welcome CI Test to ciTests.ts update test
re-arrange buttons for initial positioning

* conver buffer manager test to jest

* add test for buffer layer input handlers

* add tests for welcome commands view and extra test to buffer manager test

* [WIP] render oni sessions on welcome page

* add sessions to welcome screen and redesign commands section of screen

* create separate components for left and right section
add icon to sessions list

* add [WIP] section navigation

* rename event args and handle lateral movement (minimally)

* add fallback for empty session, remove console.log in session store
fix accidentally triggered session restoration

* fix lint errors

* update tests for welcome layer changes

* fix lint errors

* render welcome even if no version, handle single section
add snapshot and update tests

* add set state and increase tests for welcome component

* update getMetadata function to use async await + fsExtra

* increase header font size, reduced box size
seperated selectedItem selected styles into css block
add margin to icon styles

* update snapshot
2018-08-30 15:03:10 +01:00
Paul Roberts a3965375a8 Add commands to jump to previous/next error (#2526)
This PR adds `oni.editor.nextError` and `oni.editor.previousError` commands, as discussed in #2514. I have mainly tested this with Typescript.
2018-08-29 16:13:25 +01:00
Paul Roberts 4ce6b2289a Fix bug when pasting in command line mode (#2528)
As @josemarluedke mentioned [here](https://github.com/onivim/oni/pull/2515#issuecomment-416769296), pasting in command line mode was broken with #2515.
2018-08-29 06:46:28 +01:00
Akin e612eb8602
Bugfix/fix welcome buffer layer (#2522)
This PR will fix #1413 and #1459 it uses the handle input method on the buffer layers to define a custom input handler for the welcome layer which is fairly simple i.e. `j` and `k` for navigation and `<enter>` to select, this PR also adds a method to the oni api called `getActiveSection` which returns a string representing the active section of the editor e.g. the particular sidebar element or the menu or commandline

Outstanding

- [x] Hide cursor when welcome is active
- [x] Fix welcome commands (some...)
- [x] Allow `enter` key passthrough
- [x] Add tests

~add sessions to welcome screen~ leave for another PR
2018-08-28 22:43:50 +01:00
Paul Roberts e482ae8584 Fix for #2414 - truncated copy/paste (#2515)
This is a fix for some of the issues raised in #2414. One thing to note - there was some question as to whether win32yank works for everyone. I did find a possible workaround for that, if it's still an issue:

```
const textToPaste = clipboard.readText()
const sanitizedTextLines = replaceAll(textToPaste, { "'": "''" })
await neovimInstance.command("let @+='" + sanitizedTextLines + "'")
```

I don't have a windows box to test this on, so perhaps we can add this code to `NeovimEditorCommands. pasteContents` later if needed.
2018-08-27 20:39:32 +01:00
Akin e3f65e6948
Feature/oni sessions (#2479)
* add session manager, store and sidebar pane

* hook up session services to app

* move side effects into epics

* add creation and cancel creation actions

* add restore session epic and remove console.log

* await sessions in case of error

* add error handling to session functions

* Revert "Refocus previously open menu on reactivating Oni (#2472)"

This reverts commit 97f0c61345.

* Revert "Refocus previously open menu on reactivating Oni (#2472)"

This reverts commit 97f0c61345.

* remove console.log

* remove unused props passed to session pane

* add persist session command [WIP]

* Add current session action and update store with i

t

* use get user config add icons and some error handling

* add unclick handlers for sessions
move section title to general location
add delete session functionality

* add title and toggling of sessions add on vim leave handler

* fix lint errors

* refactor epics in preparation for 1.0 and rxjs 6

* update snapshot

* add bufdo bd command prior to restoring session
fix delete session bug causing reappearances

* create separate close all buffers method

* remove update session method

* Add audit time to update current session

* add close all buffers method and use persist session action in update session

* add restore session error action and complete action

* add console log for debugging return metadata directly

* add error handling to git blame function

* reduce persist audit time make ids in session.tsx readonly

* comment out console.log

* check neovim for current session when updating
this ensures the session is valid
added getCurrentSession method which checks vims v:this_session var

* fix lint errors

* add tests for sessions component and mock for neovim instance

* switch generic input check to specific text input view check

* add update timestamp functionality so these are more accurate

* switch to adding updated at by checking mtime of f

ile

* switch to storing sessions in persistent store

* add delete functionality to persistent store and mock

* fix lint error

* rename sessionName var to name for simplicity

* add session manager initial test

* create path using path.join

* add experimental config flag

* update Oni mock and increase sessionmanager tests

* add session store tests - [WIP]

* return simple session manager mock
remove need for instantiation, use done callback

* remove session store tests as redux observable api has changed
a large refactor of all observables is going to be required to upgrade redux observable so seems counter productive to write tests that will need to be re-written entirely once that is done

* add user configurable session directory

* tweak sidebar item styles

* update vim navigator to pass function to update selected item on click
render session sidebar item second

* fix lint error

* fix broken tests
2018-08-22 08:16:46 +01:00
Akin 2fd82f36cf
Feature/Color-highlight improvements (#2447)
* update regex to look for word boundaries, update f

ont family if config changes

* remove unnecessary word boundaries from color rege

x

* vertically center text inside color highlight add highlight component
with component did catch if error remove higlights

* add a background component to prevent underlying color from bleeding through

* replace data id on new component
2018-08-21 09:39:44 +01:00
George Anderson 910559c13a Changed spacing of elements in the explorer sidebar to be more readable (#2511)
Changes related to the file explorer spacing as explained in #2510 
This change hopefully makes the file explorer easier to read. 

1. Slightly reduced spacing between each element in the explorer. 
2. Reduced space between the caret/icon and the text.
3. Doubled the indentation amount.
2018-08-20 08:19:23 +01:00
Paul Roberts dd4b33d718 Fix for 2272 - <f12> opens in current tab (#2504) 2018-08-19 23:53:18 +01:00
Akin 127a2bc302
Bugfix/buffer scrollbar fixes (#2495)
This PR fixes #2114 and a few issues with the buffer scroll bar

The first issue relates to #2114 which was the fact the the buffer bar lagged behind if the window was resized. The specific change that fixes this is changing the position from `absolute` to `fixed`

The other issue was that the error markers weren't rendering correctly i.e. only one error marker was shown in the buffer because the `uniqBy` function was filtering by Id but actually there was no id prop. Ive changed this to filter by line so the scroll bar just shows errors by line, meaning you now get multiple errors in the scroll bar based on position

Also took the opportunity to change the components to styled components with dynamic attrs and added keys to the error components
2018-08-19 17:20:11 +01:00
Akin 795636ca38
Bugfix/commit loading (#2492)
* add key to bookmarks pane

* add key to learning pane

* add keys to window splits

* add key to plugins sidebar items

* use promise.all and move loading to view

* test 2

* re-add missing await to commit function

* re-add loading to pane

* add files to commit to state and use that to check if loading

* fix version control store tests
2018-08-16 16:41:06 +01:00
Tal Amuyal a54bb2cf3a
Fix local building issue (#2488)
Fix local building issue
2018-08-09 16:19:58 +03:00
Tal Amuyal 60c647e3ee
Fix sidebar search (#2489) 2018-08-05 19:03:41 +03:00
Akin 66a13f5b06
Feature/git blame layer (#2469)
* Revert "Refocus previously open menu on reactivating Oni (#2472)"

This reverts commit 97f0c61345.

* add initial git blame layer implementation

* make component absolute and pass position to component

* add cursor to layer context and use it render positional blame

* render blame inline if possible otherwise render above

* format blame date str and add format date to utils

* change ordering of blame message

* format time as time since and update styles for blame

* separate out inline and hover styles

* rename inline var

* add out of bounds checking

* add more error handling to out of bounds check dar

ken tooltip color

* darken text in blame

* fix lint error in blame layer

* fix existing broken tests

* add config options and experimental flag
add ability to run in manual mode require a binding to be hit to show the blame

* fix lint errors

* fix cursor line variants naming
add comments to explain, also fix out of bounds function

* fix comment change order of updateBlameCall

* use get derived props from state to prevent initial render flicker
pass in font-famil

* switch back to concurrently for start
query only a single line at a time and update state with next props

* remove unsed var in blame container

* prevent layer from rendering if vcs.blame is not enabled

* add recursive truncation of summary message

* add check if shortened all the way to the bottom just render the author and time

* fix comment typo

* only append ellipsis is shortened summary has content

* remove hover style as it is hard to manage improve fit checking

* position blame in first empty white space above is cant fit

* remove unused arguments

* increase default timeout, add exiting to transitionStyles

* move opacity in hope of making animation more pronounced

* check line position at start of reset timer matches current one before showing blame

* fix position related crash

* prettier fix

* mount the component ffs, add more tests

* moar test for blame layer

* fix failing test

* add overflow component and re-arrange comments

* fix lint errors

* add component did catch method
use words to calculate if truncation should happen
append only if truncated, use proper truncation symbol

* fix broken truncation assertion

* change check in git blame layer to use currentLine content

* fix configuration to use _oni.configuration
2018-08-03 00:23:12 +01:00
Tal Amuyal 2c03e73ed4
Move API to oni-api and use it in preparetion for pluginization (#2473)
Move API to oni-api and use it in preparation for pluginization
2018-08-02 22:32:23 +03:00
Bryan Phelps 70388b130d Add Jonas Strømsodd as a backer - thank you! :) 2018-08-01 15:28:58 -07:00
Akin 25ab4a2dc1
Revert "Refocus previously open menu on reactivating Oni" (#2478)
Reverts onivim/oni#2472

@CrossR @bryphe this awesome bugfix PR unfortunately breaks a users ability to to navigate too and from the sidebar using keyboard bindings, in my excitement to have this annoying issue fixed I totally missed this bug till just now.
2018-07-30 07:39:23 +01:00
feltech 97f0c61345 Refocus previously open menu on reactivating Oni (#2472)
* If the command menu is open and you alt-tab away from Oni, then
alt-tab back again, the menu remains open but no longer has cursor
focus.
* So ensure focus is not lost on reactivating Oni by not overwriting the
saved focus stack.
2018-07-29 08:33:06 +01:00
Ryan C b921412e05
Add the CLI scripts back to the build command. (#2463) 2018-07-27 23:56:28 +01:00
feltech b2ef17fde0 Jump to files/directories created in the Explorer (#2468)
* Add a `SELECT_FILE` action as the last step in `CREATE_NODE_COMMIT` so
that files created in the explorer are scrolled and highlighted.
* `SELECT_FILE` has the same effect as `EXPAND_DIRECTORY` + `REFRESH`,
so no need to include those as well.
* Updated unit tests.
2018-07-27 09:08:41 +01:00
feltech b6bdb4bd68 Explorer: Locate Current Buffer (#2429)
* Command to find current buffer in Explorer and select it (#1567)

Add command palette option "Explorer: Locate Current Buffer" that will
expand directories down to the current buffer, then select the
corresponding file/directory.

* Only dispatch success action if/when selection changed as expected

Prevent sending pointless `SELECT_FILE_SUCCESS` actions if we're not
actually in the process of selecting a file (or haven't selected the
file we expect yet).

* Open Explorer if it's not visible when executing Locate Current Buffer.

* Keep `registerCommand` calls together in the `index.tsx` and unify
their style.
* Use the `SidebarManager` to first ensure the Explorer is shown, before
then locating the file in the `ExplorerSplit`.

* Remove duplicated `nodePath` function in favour of `getPathForNode`

* Fix sidebar hiding when locating file in Explorer

* Strangely, `SidebarManager.setActiveEntry` will close the sidebar if
the Explorer is already open and you try to open it again.
* So only trigger opening the Explorer if it's not already visible.

* tslint: alphabetize imports

* Fix test conflict

* `epicMiddleware.replaceEpic` internally dispatches a
`@@redux-observable/EPIC_END` action, which gets saved to the
`mockStore`'s
actions list. Every test case's `afterEach` thus adds an additional
action to this actions list. This pollutes all subsequent stores created
via the `mockStore` factory, which is odd.
* This was accounted for in the YANK_AND_PASTE_EPICS test by assuming
"an init action is sent first", which is not the case.
* So move the setup that is only for the SET_ROOT_DIRECTORY test inside
it's own `describe` block, remove the unnecessary `replaceEpic` call,
and fix the test for expected number of actions.

* Add `selectFileReducer` tests

* Add `selectFileEpic` tests

* Minor test tidying

* Add notificationEpic SELECT_FILE_FAIL test

* Add VimNavigator and ExplorerView tests

* Remove unused imports in test + tidy

* Add ExplorerSplit tests

* Add Locate Buffer integration test

* tslint: alphabetise imports

* Possibly fix SELECT_FILE on OSX + add logging to isolate problem

* Fix Explorer.LocateBufferTest for symlinked tempdir (i.e. OSX)

* Resolve symlinks before testing if selection is a descendant of workspace

* Add a hook to `IFileSystem` for `realpath`.
* Use that to resolve symlinks in the `selectFileEpic`.
* Also be slightly more robust and use `path.relative` to test if file
path is a descendent of workspace, rather than `startsWith`.
* Revert changes to the `Explorer.LocateBufferTest` from previous
attempt to fix for OSX.
* Leave in some logging on the expectation that OSX will still fail.

* Fix ExplorerStore tests

* Harmonise `realPath` => `realpath` so that mocks work.
* Monkey patch `MemoryFileSystem` to have a trivial `realpath` function.
* Make `selectFileEpic` tests asynchronous.

* Put symlink-less file to select in the store (for OSX)

* Use temporary workspace for QuickOpenTest

* `Explorer.LocateBufferTest` changes the workspace to a
temporary workspace, but `QuickOpenTest` wanted the Oni source directory.
* So use a temporary workspace for `QuickOpenTest` as well and commonise
the construction of such workspaces into `Common.ts`.
* Also removed some debug logging.

* Fix Neovim.CallOniCommands test

* There is a known bug in the typescript language server client (e.g.#1588)
* So don't create files that trigger the language server in a test that
has nothing to do with it.

* Attempt to fix race in PrettierPluginTest on OSX

* Revert "Attempt to fix race in PrettierPluginTest on OSX"

This reverts commit 22a6424586.

* Use temporary workspace for PrettierPluginTest

* Another attempt to get the test passing on OSX.  Hoping that the
workspace is just dirtied by previous tests.
* Removed pointless text from test `File.ts` to make this work.

* Move UI elment assertion of PrettierPluginTest to the end

Hopefully the other assertions will give a better clue what is failing
on OSX.

* Add logging to isolate issue with PrettierPluginTest on OSX

* Fix logging to isolate issue with PrettierPluginTest on OSX

* More logging to isolate issue with PrettierPluginTest on OSX

* Wait for status bar element in PrettierPluginTest on OSX

* Allow failure to get window count in test afterEach

* Fix waiting for status bar element in PrettierPluginTest on OSX

* Remove before/afterEach from runInProcTest to enable retries

* Add some logs when oni is close after test

* Add a couple of mocha flags that may stabalise tests

* Remove debug logs + tidy

* Tolerate failure to get window count when stopping Oni

* Add a retry to WindowsInstallerTests

* Revert "Add a retry to WindowsInstallerTests"

This reverts commit d6b4a29968.

* Remove pointless mocha flags
2018-07-26 14:48:33 +01:00
Akin e2c3fef196
Feature/uncommit unstage functionality (#2457)
* add unstage command and binding

* add getLogs function to provider and render git logs

* make latest commit selectable

* add uncommit functionality

* add help ui improvements and read in current bindings

* pass in commands and default to global var

* fix tests to match new git logs interface

* add test to assert help prompt is shown

* add test for help component

* remove unused project root argument

* add scrollability to the list no entire component

* disable new binding if commiting

* add empty fileChanged event dispatch to uncommit a

ction

* add wrap in brackets and extra commands to help co

mponent

* simplify commit submission handling

* create refresh function

* refresh in the finally method of commitFile functi

on

* re-add component did mount function and call get s

tatus

* refresh data in vcs pane on dir change and file status even if no t visible

* update help component test

* consolidate error message handling

* fix help test greater than assertion
2018-07-26 11:37:05 +01:00
Ryan C b901ecdda0
Markdown Syntax Highlights (#2332)
* 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.
2018-07-26 10:45:08 +01:00