Skip to content

Commit ed62b05

Browse files
committed
Merge pull request #51 from jordanbtucker/windows-support
Better support for Windows paths
2 parents 4f56ff2 + 19ce75a commit ed62b05

File tree

2 files changed

+8
-6
lines changed

2 files changed

+8
-6
lines changed

lib/paths-provider.coffee

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ module.exports =
77
class PathsProvider
88
id: 'autocomplete-paths-pathsprovider'
99
selector: '*'
10-
wordRegex: /[a-zA-Z0-9\.\/_-]*\/[a-zA-Z0-9\.\/_-]*/g
10+
wordRegex: /(?:[a-zA-Z]:)?[a-zA-Z0-9./\\_-]*(?:\/|\\\\?)[a-zA-Z0-9./\\_-]*/g
1111
cache: []
1212

1313
requestHandler: (options = {}) =>
@@ -55,7 +55,7 @@ class PathsProvider
5555

5656
prefixPath = path.resolve(basePath, prefix)
5757

58-
if prefix.endsWith('/')
58+
if prefix.match(/[/\\]$/)
5959
directory = prefixPath
6060
prefix = ''
6161
else
@@ -89,7 +89,6 @@ class PathsProvider
8989
continue
9090
if stat.isDirectory()
9191
label = 'Dir'
92-
result += path.sep
9392
else if stat.isFile()
9493
label = 'File'
9594
else

spec/autocomplete-paths-spec.coffee

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ describe 'Autocomplete Snippets', ->
7272

7373
runs ->
7474
expect(editorView.querySelector('.autocomplete-plus')).toExist()
75-
expect(editorView.querySelector('.autocomplete-plus span.word')).toHaveText('linkeddir/')
75+
expect(editorView.querySelector('.autocomplete-plus span.word')).toHaveText('linkeddir')
7676
expect(editorView.querySelector('.autocomplete-plus span.completion-label')).toHaveText('Dir')
7777

7878
it 'does not crash when typing an invalid folder', ->
@@ -93,18 +93,21 @@ describe 'Autocomplete Snippets', ->
9393
expect(editorView.querySelector('.autocomplete-plus')).not.toExist()
9494

9595
editor.moveToBottom()
96-
editor.insertText(c) for c in './linkedir'
96+
editor.insertText(c) for c in './linkeddir'
9797

9898
advanceClock(completionDelay)
9999

100100
waitsFor ->
101101
autocompleteManager.displaySuggestions.calls.length is 1
102102

103103
runs ->
104-
# Select linkeddir/
104+
# Select linkeddir
105105
atom.commands.dispatch(editorView, 'autocomplete-plus:confirm')
106106
advanceClock(completionDelay)
107107

108+
editor.insertText('/')
109+
advanceClock(completionDelay)
110+
108111
waitsFor ->
109112
autocompleteManager.displaySuggestions.calls.length is 2
110113

0 commit comments

Comments
 (0)