Code Monkey home page Code Monkey logo

deoplete-cpp's Introduction

deoplete-cpp

Build Status

c, c++, objc, objc++, arduino, cmake source for deoplete.nvim

Installation

run the installation script

./install.sh

Support

  • cmake (you need to install cmake to for this to work)
  • arduino (you need to have PlatformIO)

Options

C

  • Set the standard (default 99)

    let g:deoplete#sources#c#standard = 90
  • Set compile definitions (default is ['-DDEBUG'])

    let g:deoplete#sources#c#definitions = ['-DDEBUG']
  • Set include path (default is ['/usr/local/include'])

    let g:deoplete#sources#c#include_paths = ['/usr/local/include']
  • Set enable kernel development (default is 0)

    let g:deoplete#sources#c#enable_kernel_dev = 1

to enable include directory for kernel development

make sure the g:deoplete#sources#c#kernel_root variable is also set

  • Set kernel root

    let g:deoplete#sources#c#kernel_root = '/usr/src/linux-headers-4.4.0-116'
  • Set enable platformio development (default is 1)

    let g:deoplete#sources#c#enable_platformio_dev = 0
  • Set platformio root (default is '~/.platformio')

    let g:deoplete#sources#c#platformio_root = '~/.platformio'

CPP

  • Set CPP standard (default is 14)

    let g:deoplete#sources#cpp#standard = 11
  • Set CPP compile definitions (default is ['-DDEBUG'])

    let g:deoplete#sources#cpp#definitions = ['-DDEBUG']
  • Set CPP include paths

    let g:deoplete#sources#cpp#include_paths = []

the defaults are

let g:deoplete#sources#cpp#include_paths =
\   get(g:, "deoplete#sources#cpp#include_paths", [
\   "/usr/local/include",
\   ".",
\   'src',
\   "build",
\   "include",
\   "third_party",
\   'lib',
\   "..",
\   "../src",
\   "../include",
\   "../build",
\   '../lib',
\   "../third_party",
\   "../../src",
\   "../../include",
\   '../../lib',
\   "../../third_party"
\   ])
  • Set enable qt development (default is 1)

    let g:deoplete#sources#cpp#enable_qt_dev = 0
  • Set qt root (default is '/usr/include/x86_64-linux-gnu/qt5')

    let g:deoplete#sources#cpp#qt_root = '/usr/include/x86_64-linux-gnu/qt5'
  • Set enable ros development (default is 1)

    let g:deoplete#sources#cpp#enable_ros_dev = 0
  • Set ros root (default is '/opt/ros/melodic')

    let g:deoplete#sources#cpp#ros_root = '/opt/ros/kinetic'
  • Set ros user workspace (default is '~/catkin_melodic')

    let g:deoplete#sources#cpp#ros_user_ws = '~/catkin_kinetic'

objc/objc++

  • Set objc/objc++ compile definitions (default is ['-DDEBUG'])

    let g:deoplete#sources#objc#definitions = ['-DDEBUG']
  • Set include path

    let g:deoplete#sources#objc#include_paths = ['/usr/local/include']

the default is

let g:deoplete#sources#objc#include_paths =
\   get(g:, "deoplete#sources#objc#include_paths", [
\   "/usr/local/include",
\   "/usr/include/GNUstep",
\   "/usr/include/GNUstep/Foundation",
\   "/usr/include/GNUstep/gnustep",
\   "/usr/include/GNUstep/GNUstepBase",
\   ])

arduino

  • Set arduino compile definitions (default is ['-DDEBUG'])

    let g:deoplete#sources#arduino#definitions = ['-DDEBUG']
  • Set arduino include path

    let g:deoplete#sources#arduino#include_paths = ['/usr/local/include']
    

the default is

let g:deoplete#sources#arduino#include_paths =
\   get(g:, "deoplete#sources#arduino#include_paths", [
\   ".",
\   'src',
\   "build",
\   "include",
\   "third_party",
\   'lib',
\   "..",
\   "../src",
\   "../include",
\   "../build",
\   '../lib',
\   "../third_party",
\   "../../src",
\   "../../include",
\   '../../lib',
\   "../../third_party"
\   ])
  • Set enable platformio development (default is 1)

    let g:deoplete#sources#arduino#enable_platformio_dev = 0
  • Set platformio root directory (default is '~/.platformio')

    let g:deoplete#sources#arduino#platformio_root = '~/.platformio'

deoplete-cpp's People

Contributors

kiddos avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

deoplete-cpp's Issues

_get_buffer_name throws uncaught Exception

    def _get_buffer_name(self, context):
        if context['bufname'].endswith('.ino'):
            buffer_name = context['bufname'].replace('.ino', '.cpp')
        if context['bufname'].endswith('.cu'):
            buffer_name = context['bufname'].replace('.cu', '.cpp')
        return os.path.join(context['cwd'], buffer_name)

First of all, if context['bufname'] matches neither, the return will still try to join cwd with the buffer_name. This would be an exception since buffer_name is unassigned.

Secondly, on my local system, context['bufname'] is the same as the filename. Which means it would never end with .cu/.ino What gives?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.