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 165
  • Win 0
  • Mac 55
  • Linux 110
Mar 4 Mar 3 Mar 2 Mar 1 Feb 28 Feb 27 Feb 26 Feb 25 Feb 24 Feb 23 Feb 22 Feb 21 Feb 20 Feb 19 Feb 18 Feb 17 Feb 16 Feb 15 Feb 14 Feb 13 Feb 12 Feb 11 Feb 10 Feb 9 Feb 8 Feb 7 Feb 6 Feb 5 Feb 4 Feb 3 Feb 2 Feb 1 Jan 31 Jan 30 Jan 29 Jan 28 Jan 27 Jan 26 Jan 25 Jan 24 Jan 23 Jan 22 Jan 21 Jan 20 Jan 19
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 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0
Linux 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 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”