 getSettingDescription = (keyPath) ->
   atom.config.getSchema?(keyPath)?.description or ''
 
+appendOptions = (namespace, name, value) ->
+  keyPath = "#{namespace}.#{name}"
+  title = getSettingTitle(keyPath, name)
+  description = getSettingDescription(keyPath)
+  options = atom.config.getSchema(keyPath)?.enum ? []
+
+  @label class: 'control-label', =>
+    @div class: 'setting-title', title
+    @div class: 'setting-description', description
+
+  @select id: keyPath, class: 'form-control', =>
+    for option in options
+      @option value: option, option
+
 appendCheckbox = (namespace, name, value) ->
   keyPath = "#{namespace}.#{name}"
   title = getSettingTitle(keyPath, name)

    settings = atom.config.getSettings()
    @appendSettings(namespace, settings[namespace])

    @bindFormFields()
    @bindEditors()

  appendSettings: (namespace, settings) ->

            value = @parseValue(type, value)

          atom.config.set(name, value)

  bindSelectFields: ->
    @find('select[id]').toArray().forEach (select) =>
      select = $(select)
      name = select.attr('id')

      @subscribe atom.config.observe name, (value) ->
        select.val(value)

      select.change ->
        atom.config.set(name, select.val())

  bindEditors: ->
    for editorView in @find('.editor[id]').views()
