@Override
  public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
      case R.id.m_wrap:
        if (editor.getWrap()) item.setTitle(R.string.enable_wrapping);
        else item.setTitle(R.string.disable_wrapping);
        editor.toggleWrap();
        PreferenceUtils.save(
            PreferenceUtils.getCodePreferences(this).edit().putBoolean(WRAP, editor.getWrap()));
        return true;

      case R.id.m_share:
        shareFile();
        return true;

      case R.id.m_render_markdown:
        if (editor.isMarkdown()) {
          item.setTitle(R.string.render_markdown);
          editor.toggleMarkdown();
          editor.setSource(file, blob);
        } else {
          item.setTitle(R.string.show_raw_markdown);
          editor.toggleMarkdown();
          if (renderedMarkdown != null) editor.setSource(file, renderedMarkdown, false);
          else loadMarkdown();
        }
        PreferenceUtils.save(
            PreferenceUtils.getCodePreferences(this)
                .edit()
                .putBoolean(RENDER_MARKDOWN, editor.isMarkdown()));
        return true;

      default:
        return super.onOptionsItemSelected(item);
    }
  }