local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
vim.opt.rtp:prepend(lazypath)

vim.opt.number=true
vim.opt.cindent=true
vim.opt.ruler=true
vim.opt.hidden=true
vim.opt.incsearch=true
vim.opt.hlsearch=true
vim.opt.termguicolors=true
vim.opt.mouse='a'
vim.opt.wrap=false
vim.opt.timeoutlen=400
vim.opt.laststatus=3
vim.opt.scrolloff=3
vim.opt.showmode=false

vim.opt.expandtab=true
vim.opt.tabstop=4
vim.opt.softtabstop=4
vim.opt.shiftwidth=4

vim.opt.splitright = true
vim.opt.splitbelow = true
vim.opt.ignorecase = true
vim.opt.smartcase = true

vim.keymap.set("i","jk","<esc>")

vim.g.mapleader = " "
vim.g.maplocalleader = " "

vim.keymap.set("n","<leader>w","<cmd>w<cr>")
vim.keymap.set("n","<leader>q","<cmd>bd<cr>")
vim.keymap.set("n","<leader>Q","<cmd>q<cr>")
vim.keymap.set("n","<leader>n","<cmd>bn<cr>")
vim.keymap.set("n","<leader>p","<cmd>bp<cr>")

require('packer').startup({function(use)
  -- Packer can manage itself
  use 'wbthomason/packer.nvim'
  use "olimorris/onedarkpro.nvim"
  use 'nvim-lualine/lualine.nvim'
  use 'akinsho/bufferline.nvim'
  use 'p00f/nvim-ts-rainbow'
end,
config = {
  display = {
    open_fn = require('packer.util').float,
  }
}})

vim.cmd("colorscheme onedark")

require('lualine').setup {
  options = {
    icons_enabled = false,
    theme = 'onedark',
    component_separators = { left = '', right = ''},
    section_separators = { left = '', right = ''},
    disabled_filetypes = {
      statusline = {},
      winbar = {},
    },
    ignore_focus = {},
    always_divide_middle = true,
    globalstatus = false,
    refresh = {
      statusline = 30,
      tabline = 30,
      winbar = 30,
    }
  },
  sections = {
    lualine_a = {'mode'},
    lualine_b = {'branch', 'diff', 'diagnostics'},
    lualine_c = {'filename'},
    lualine_x = {'filetype'},
    lualine_y = {},
    lualine_z = {'location'}
  },
  inactive_sections = {
    lualine_a = {},
    lualine_b = {},
    lualine_c = {'filename'},
    lualine_x = {'location'},
    lualine_y = {},
    lualine_z = {}
  },
  tabline = {},
  winbar = {},
  inactive_winbar = {},
  extensions = {}
}