ctrl+shift+p filters: :st2 :st3 :win :osx :linux
Browse

Expand​CMacro

by pl-ca MacLinux ALL

Sublime Text 3 plugin that expands C/C++ macros.

Labels expand, macro, expansion, c, c++

Details

Installs

  • Total 232
  • Win 0
  • Mac 89
  • Linux 143
Jun 13 Jun 12 Jun 11 Jun 10 Jun 9 Jun 8 Jun 7 Jun 6 Jun 5 Jun 4 Jun 3 Jun 2 Jun 1 May 31 May 30 May 29 May 28 May 27 May 26 May 25 May 24 May 23 May 22 May 21 May 20 May 19 May 18 May 17 May 16 May 15 May 14 May 13 May 12 May 11 May 10 May 9 May 8 May 7 May 6 May 5 May 4 May 3 May 2 May 1 Apr 30
Windows 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Mac 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Linux 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Readme

Source
raw.​githubusercontent.​com

ExpandCMacro

Sublime Text 3 plugin that expands C/C++ macros. Currently only works on Linux/OS X

Example

#include <stdio.h>


#define PRINT_2(MSG, ARGS...) printf(MSG, ##ARGS);
#define PRINT(MSG,ARGS...) PRINT_2(MSG,##ARGS)
#define MACRO(X)                                              \
{                                                             \
    if (1)                                                    \
        PRINT("this is a test %d\n", X)                       \
    else                                                      \
        PRINT("---- %s -----\n", "this is another test")      \
}

int main()
{
    MACRO(25)
    return 0;
}

Executing the command on the line MACRO(25) will result in following output

{ if (1) printf("this is a test %d\n", 25); else printf("---- %s -----\n", "this is another test"); }`

Installation

  1. Install “clang” or “gcc”.
  2. Clone this repository and put it in your Sublime's packages directory (only if installing manually from GitHub).
  3. Edit the settings to your needs.
  4. Default key bindings are: “ctrl-alt-z” to put result output panel.
  5. To modify those bindings, simply edit “Default (OSX).sublime-keymap” or its linux counterpart.

Settings

  • include_dirs: List of directories where relevant header files are located
  • compiler: Use gcc or clang to get result
  • other_flags: You can define compile time macros here with “-D DEFINE_SOMETHING”