cheatsheet do
  title 'IntelliJ Shortcuts'
  docset_file_name 'IntelliJ_Shortcuts'
  keyword 'intellij'
  source_url 'http://cheat.kapeli.com'

  category do
    id 'General'
    entry do
      command 'CMD+0..9'
      name 'Open corresponding tool window'
    end
    entry do
      command 'CMD+OPTION+Y'
      name 'Synchronize'
    end
    entry do
      command 'CMD+SHIFT+F12'
      name 'Toggle maximizing editor'
    end
    entry do
      command 'OPTION+SHIFT+I'
      name 'Inspect current file with current profile'
    end
    entry do
      command 'CMD+,'
      name 'Open Settings dialog'
    end
    entry do
      command 'CMD+;'
      name 'Open project structure dialog'
    end
    entry do
      command 'CMD+SHIFT+A'
      name 'Find action'
    end
  end

  category do
    id 'Debugging'
    entry do
      command 'F8'
      name 'Step over'
    end
    entry do
      command 'F7'
      name 'Step into'
    end
    entry do
      command 'SHIFT+F8'
      name 'Smart step into'
    end
    entry do
      command 'SHIFT+F7'
      name 'Step out'
    end
    entry do
      command 'OPTION+F9'
      name 'Run to cursor'
    end
    entry do
      command 'OPTION+F8'
      name 'Evaluate expression'
    end
    entry do
      command 'CMD+OPTION+R'
      name 'Resume program'
    end
    entry do
      command 'CMD+F8'
      name 'Toggle breakpoint'
    end
    entry do
      command 'CMD+SHIFT+F8'
      name 'View breakpoint'
    end
  end


  category do
    id 'Search / Replace'
    entry do
      command 'Double SHIFT'
      name 'Search everywhere'
    end
    entry do
      command 'CMD+R'
      name 'Replace'
    end
    entry do
      command 'CMD+SHIFT+F'
      name 'Find in path'
    end
    entry do
      command 'CMD+SHIFT+R'
      name 'Replace in path'
    end
    entry do
      command '^G'
      name 'Select next occurrence'
    end
  end

  category do
    id 'Editing'
    entry do
      command 'CTRL+Space'
      name 'Basic code completion'
    end
    entry do
      command 'CTRL+SHIFT+Space'
      name 'Smart code completion'
    end
    entry do
      command 'CMD+SHIFT+Enter'
      name 'Complete statement'
    end
    entry do
      command 'CMD+P'
      name 'Parameter info'
    end
    entry do
      command 'CTRL+J'
      name 'Quick documentation lookup'
    end
    entry do
      command 'SHIFT+F1'
      name 'External Doc'
    end
    entry do
      command 'CMD+Mouse'
      name 'Brief Info'
    end
    entry do
      command 'CMD+F1'
      name 'Show descriptions of error at caret'
    end
    entry do
      command 'CMD+N CTRL+Enter'
      name 'Generate code...'
    end
    entry do
      command 'CTRL+O'
      name 'Override methods'
    end
    entry do
      command 'CTRL+I'
      name 'Implement methods'
    end
    entry do
      command 'CMD+OPTION+T'
      name 'Surround with...'
    end
    entry do
      command 'CMD+/'
      name 'Comment / uncomment with line comment'
    end
    entry do
      command 'CMD+OPTION+/'
      name 'Comment / uncomment with block comment'
    end
    entry do
      command 'OPTION+Page Up'
      name 'Extend selection'
    end
    entry do
      command 'OPTION+Page Down'
      name 'Shrink selection'
    end
    entry do
      command 'OPTION+SHIFT+Q'
      name 'Context info'
    end
    entry do
      command 'OPTION+Click'
      name 'Show intention actions and quick- xes'
    end
    entry do
      command 'OPTION+Enter'
      name 'Reformat code'
    end
    entry do
      command 'CTRL+OPTION+O'
      name 'Optimize imports'
    end
    entry do
      command 'CTRL+OPTION+I'
      name 'Auto-indent line(s)'
    end
    entry do
      command 'CMD+SHIFT+V'
      name 'Paste from recent buffers'
    end
    entry do
      command 'CMD+D'
      name 'Duplicate current line'
    end
    entry do
      command 'CMD+Return'
      name 'Delete line at caret'
    end
    entry do
      command 'CTRL+SHIFT+J'
      name 'Smart line join'
    end
    entry do
      command 'CMD+Enter'
      name 'Smart line split'
    end
    entry do
      command 'SHIFT+Enter'
      name 'Start new line'
    end
    entry do
      command 'CMD+SHIFT+U'
      name 'Toggle case for word at caret or selected block'
    end
    entry do
      command 'CMD+SHIFT+]'
      name 'Select till code block end'
    end
    entry do
      command 'CMD+SHIFT+['
      name 'Select till code block start'
    end
    entry do
      command 'OPTION+Return'
      name 'Delete to word end'
    end
    entry do
      command 'OPTION+Return'
      name 'Delete to word start'
    end
    entry do
      command 'CMD++'
      name 'Expand code block'
    end
    entry do
      command 'CMD+-'
      name 'Collapse code block'
    end
    entry do
      command 'CMD+SHIFT++'
      name 'Expand all'
    end
    entry do
      command 'CMD+SHIFT+-'
      name 'Collapse all'
    end
  end

  category do
    id 'Refactoring'
    entry do
      command 'F5'
      name 'Copy'
    end
    entry do
      command 'F6'
      name 'Move'
    end
    entry do
      command 'CMD+Delete'
      name 'Safe delete'
    end
    entry do
      command 'SHIFT+F6'
      name 'Rename'
    end
    entry do
      command 'CTRL+T'
      name 'Refactor this'
    end
    entry do
      command 'CMD+F6'
      name 'Change signature'
    end
    entry do
      command 'CMD+OPTION+N'
      name 'Inline'
    end
    entry do
      command 'CMD+OPTION+M'
      name 'Extract method'
    end
    entry do
      command 'CMD+OPTION+V'
      name 'Extract variable'
    end
    entry do
      command 'CMD+OPTION+F'
      name 'Extract field'
    end
    entry do
      command 'CMD+OPTION+C'
      name 'Extract constant'
    end
    entry do
      command 'CMD+OPTION+P'
      name 'Extract parameter'
    end
  end

  category do
    id 'Navigation'
    entry do
      command 'CMD+O'
      name 'Go to class'
    end
    entry do
      command 'CMD+SHIFT+O'
      name 'Go to file'
    end
    entry do
      command 'CMD+OPTION+O'
      name 'Go to symbol'
    end
    entry do
      command 'CTRL+Arrow Left'
      name 'Go to next'
    end
    entry do
      command 'F12'
      name 'Go back to previous tool window'
    end
    entry do
      command 'CMD+L'
      name 'Go to line'
    end
    entry do
      command 'CMD+E'
      name 'Recent files popup'
    end
    entry do
      command 'CMD+OPTION+Arrow Left'
      name 'Navigate back'
    end
    entry do
      command 'CMD+OPTION+Arrow Right'
      name 'Navigate forward'
    end
    entry do
      command 'CMD+SHIFT+Return'
      name 'Navigate to last edit location'
    end
    entry do
      command 'OPTION+F1'
      name 'Select current file or symbol in any view'
    end
    entry do
      command 'CMD+B'
      name 'Go to declaration'
    end
    entry do
      command 'CMD+OPTION+B'
      name 'Go to implementation(s)'
    end
    entry do
      command 'CMD+Y'
      name 'Open quick definition lookup'
    end
    entry do
      command 'CTRL+SHIFT+B'
      name 'Go to type declaration'
    end
    entry do
      command 'CMD+U'
      name 'Go to super-method'
    end
    entry do
      command 'CTRL+Page Up'
      name 'Go to previous'
    end
    entry do
      command 'CTRL+Page Down'
      name 'Go to next method'
    end
    entry do
      command 'CMD+]'
      name 'Move to code block end'
    end
    entry do
      command 'CMD+['
      name 'Move to code block start'
    end
     entry do
      command 'CTRL+H'
      name 'File structure popup'
    end
    entry do
      command 'CMD+SHIFT+H'
      name 'Type hierarchy'
    end
    entry do
      command 'CMD+OPTION+P'
      name 'Method hierarchy'
    end
    entry do
      command 'CTRL+OPTION+H'
      name 'Call hierarchy'
    end
    entry do
      command 'F2'
      name 'Next / previous highlighted error'
    end
    entry do
      command 'F4'
      name 'Edit source / View source'
    end
    entry do
      command 'OPTION+Home'
      name 'Show navigation bar'
    end
    entry do
      command 'F3'
      name 'Toggle bookmark'
    end
    entry do
      command 'OPTION+F3'
      name 'Toggle bookmark with mnemonic'
    end
    entry do
      command 'CTRL+0..9'
      name 'Go to numbered bookmark'
    end
    entry do
      command 'CMD+F3'
      name 'Show bookmarks'
    end
  end

  category do
    id 'Compile & Run'
    entry do
      command 'CMD+F9'
      name 'Make project'
    end
    entry do
      command 'CMD+SHIFT+F9'
      name 'Compile selected file, package or module'
    end
    entry do
      command 'CTRL+OPTION+R'
      name 'Select configuration run'
    end
    entry do
      command 'CTRL+OPTION+R'
      name 'Run context configuration from editor'
    end
    entry do
      command 'CTRL+OPTION+D'
      name 'Select configuration debug'
    end
  end

  category do
    id 'Usage Search'
    entry do
      command 'CMD+F7'
      name 'Find usages in file'
    end
    entry do
      command 'OPTION+F7'
      name 'Find usages'
    end
    entry do
      command 'CMD+SHIFT+F7'
      name 'Highlight usages in file'
    end
    entry do
      command 'CMD+OPTION+F7'
      name 'Show usages'
    end
  end
    
  category do
    id 'VCS / Local History'
    entry do
      command 'CMD+K'
      name 'Commit project to VCS'
    end
    entry do
      command 'CMD+T'
      name 'Update project from VCS'
    end
    entry do
      command 'CMD+SHIFT+K'
      name 'Push commits'
    end
    entry do
      command 'CTRL+V'
      name 'VCS quick popup'
    end
    entry do
      command 'CMD+OPTION+J'
      name 'Surround with Live Template'
    end
    entry do
      command 'CMD+J'
      name 'Insert Live Template'
    end
  end 
end
