7 Commits
Author SHA1 Message Date
Seongjae Lee 4e4688fe78 Prepare 0.8.1 release 2015-09-16 19:56:14 -07:00
Seongjae Lee 0fffc6a6b1 Avoid using regexp for searching title
Fixes #28.
2015-09-16 19:56:00 -07:00
Seongjae Lee 547617f485 Refactor code based on CoffeeScript style guide
https://github.com/polarmobile/coffeescript-style-guide
2015-09-12 12:14:56 -07:00
Seongjae Lee 74735eec82 Prepare 0.8.0 release 2015-09-12 10:52:12 -07:00
Seongjae Lee fa873af344 Update changelog 2015-09-12 10:51:48 -07:00
Seongjae Lee a31f490a70 Fix a bug on warning messages
Ruby-style string interpolation is only with double-quoted strings.
2015-09-12 10:49:44 -07:00
Seongjae Lee 27f2a5bb8d Delete an empty note when closing a pane
Close #18. This is against nvALT, but I think this is more intuitive way.
2015-09-12 10:47:29 -07:00
4 changed files with 29 additions and 15 deletions
+3
View File
@@ -1,3 +1,6 @@
## 0.8.0
- Add a feature to delete an empty note automatically when closing its pane
## 0.7.0
- Add `extensions` setting
+6 -6
View File
@@ -11,7 +11,7 @@ class NotationalVelocityView extends SelectListView
super
@addClass('nvatom from-top overlay')
@rootDirectory = atom.config.get('nvatom.directory')
if !fs.existsSync(@rootDirectory)
unless fs.existsSync(@rootDirectory)
throw new Error("The given directory #{@rootDirectory} does not exist. "
+ "Set the note directory to the existing one from Settings.")
@skipPopulateList = false
@@ -28,7 +28,7 @@ class NotationalVelocityView extends SelectListView
@populateList() if @documentsLoaded
@docQuery.on "removed", (fileDetails) =>
@populateList() if @documentsLoaded
if !atom.config.get('nvatom.enableLunrPipeline')
unless atom.config.get('nvatom.enableLunrPipeline')
@docQuery.searchIndex.pipeline.reset()
isCursorProceeded: ->
@@ -42,14 +42,14 @@ class NotationalVelocityView extends SelectListView
isCursorProceeded = @isCursorProceeded()
for item in filteredItems
if item.title.match(///^#{filterQuery}$///i) != null
if item.title.toLowerCase() is filterQuery.toLowerCase()
# autoselect
n = filteredItems.indexOf(item) + 1
@selectItemView(@list.find("li:nth-child(#{n})"))
return
for item in filteredItems
if item.title.match(///^#{filterQuery}///i) != null && isCursorProceeded
if item.title.toLowerCase().startsWith(filterQuery.toLowerCase()) and isCursorProceeded
# autocomplete
@skipPopulateList = true
editor = @filterEditorView.model
@@ -61,7 +61,7 @@ class NotationalVelocityView extends SelectListView
@selectItemView(@list.find("li:nth-child(#{n})"))
filter: (filterQuery) ->
if filterQuery == "" || filterQuery == undefined
if (filterQuery is "") or (filterQuery is undefined)
return @docQuery.documents
return @docQuery.search(filterQuery)
@@ -156,6 +156,6 @@ class NotationalVelocityView extends SelectListView
@setError(@getEmptyMessage(@docQuery.documents.length, filteredItems.length))
schedulePopulateList: ->
if !@skipPopulateList
unless @skipPopulateList
super
@skipPopulateList = false
+19 -8
View File
@@ -47,7 +47,7 @@ module.exports =
window.addEventListener('blur', handleBlur, true)
@subscriptions.add new Disposable -> window.removeEventListener('blur', handleBlur, true)
@subscriptions.add atom.workspace.onWillDestroyPaneItem ({item}) => @autosave(item)
@subscriptions.add atom.workspace.onWillDestroyPaneItem ({item}) => @autosave(item) unless @autodelete(item)
deactivate: ->
@subscriptions.dispose()
@@ -66,10 +66,21 @@ module.exports =
return unless paneItem?.getURI?()?
return unless paneItem?.isModified?()
uri = paneItem.getURI()
return unless uri.indexOf(@rootDirectory) == 0
return unless uri.indexOf(@rootDirectory) is 0
return unless path.extname(uri) in atom.config.get('nvatom.extensions')
paneItem?.save?()
autodelete: (paneItem) ->
return false unless paneItem?.getURI?()?
uri = paneItem.getURI()
return false unless uri.indexOf(@rootDirectory) is 0
return false unless path.extname(uri) in atom.config.get('nvatom.extensions')
return false unless paneItem?.isEmpty()
fs.unlinkSync(uri)
noteName = uri.substring(@rootDirectory.length + 1)
atom.notifications.addInfo("Empty note #{noteName} is deleted.")
return true
autosaveAll: ->
@autosave(paneItem) for paneItem in atom.workspace.getPaneItems()
@@ -79,13 +90,13 @@ module.exports =
defaultNoteDirectory = path.join(packagesDirectory, 'nvatom', 'notebook')
if noteDirectory.startsWith(packagesDirectory)
throw new Error('Note directory #{noteDirectory} cannot reside within atom packages directory. Please change its value from package settings.')
throw new Error("Note directory #{noteDirectory} cannot reside within atom packages directory. Please change its value from package settings.")
# Initialize note directory.
if !fs.existsSync(noteDirectory)
unless fs.existsSync(noteDirectory)
@tryMigrateFromNotationalVelocity()
noteDirectory = atom.config.get('nvatom.directory')
if !fs.existsSync(noteDirectory)
unless fs.existsSync(noteDirectory)
fs.makeTreeSync(noteDirectory)
fs.copySync(defaultNoteDirectory, noteDirectory)
@@ -98,13 +109,13 @@ module.exports =
defaultNoteDirectory = path.join(packagesDirectory, 'nvatom', 'notebook')
# notational-velocity does not exist.
if prevNoteDirectory == undefined
if prevNoteDirectory is undefined
return
atom.notifications.addInfo('Migrating from notational-velocity package...')
if !fs.existsSync(prevNoteDirectory)
atom.notifications.addError('notational-velocity.directory #{prevNoteDirectory} does not exists. Migration process is failed.')
unless fs.existsSync(prevNoteDirectory)
atom.notifications.addError("notational-velocity.directory #{prevNoteDirectory} does not exists. Migration process is failed.")
return
if prevNoteDirectory.startsWith(packagesDirectory)
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "nvatom",
"main": "./lib/notational-velocity",
"version": "0.7.1",
"version": "0.8.1",
"private": true,
"contributors": [
"Seongjae Lee <seongjae@gmail.com>",