Branch: refs/heads/build-exec Author: Nick Treleaven n@trelsoft.com Committer: Nick Treleaven n@trelsoft.com Date: Sat, 05 Oct 2019 11:31:09 UTC Commit: 1f7d846cc95bf704b7d272149e7335a0ff979d8f https://github.com/geany/geany/commit/1f7d846cc95bf704b7d272149e7335a0ff979d...
Log Message: ----------- Begin separating filetype-independent execute commands from FT execute
Add GEANY_GBG_EXEC_IND.
Modified Paths: -------------- TODO src/build.c src/build.h
Modified: TODO 1 lines changed, 0 insertions(+), 1 deletions(-) =================================================================== @@ -15,7 +15,6 @@ Note: features included in brackets have lower priority. programming languages (done for C-like filetypes using filetypes.common named styles) o asynchronous build commands on Windows - o (filetype-independent run command in build dialog & keybinding) o (better custom filetype support) o (custom template insertion - so user can add licenses, etc) o (selectable menu of arguments to use for Make, from Make Custom)
Modified: src/build.c 25 lines changed, 20 insertions(+), 5 deletions(-) =================================================================== @@ -155,7 +155,7 @@ static struct } widgets;
-static guint build_groups_count[GEANY_GBG_COUNT] = { 3, 4, 2 }; +static guint build_groups_count[GEANY_GBG_COUNT] = { 3, 4, 2, 2 }; static guint build_items_count = 9;
static void build_exit_cb(GPid pid, gint status, gpointer user_data); @@ -399,19 +399,26 @@ static GeanyBuildCommand *get_next_build_cmd(GeanyDocument *doc, memcpy(overloads, cs, sizeof(cs)); break; } - case GEANY_GBG_EXEC: /* order proj, proj ft, pref, home ft, ft, def */ + case GEANY_GBG_EXEC: /* order proj ft, home ft, ft, def */ { CommandSet cs[] = { - {GEANY_BCS_PROJ, exec_proj}, {GEANY_BCS_PROJ_FT, ftp->projexeccmds}, - {GEANY_BCS_PREF, exec_pref}, {GEANY_BCS_FT, ftp->homeexeccmds}, {GEANY_BCS_FT, ftp->execcmds}, {GEANY_BCS_DEF, exec_def}, }; memcpy(overloads, cs, sizeof(cs)); break; } + case GEANY_GBG_EXEC_IND: /* order proj, pref */ + { + CommandSet cs[] = { + {GEANY_BCS_PROJ, exec_proj}, + {GEANY_BCS_PREF, exec_pref}, + }; + memcpy(overloads, cs, sizeof(cs)); + break; + } default: return NULL; } @@ -516,14 +523,21 @@ static GeanyBuildCommand **get_build_group_pointer(const GeanyBuildSource src, c case GEANY_BCS_FT: return ft ? &(ft->priv->execcmds): NULL; case GEANY_BCS_HOME_FT: return ft ? &(ft->priv->homeexeccmds): NULL; case GEANY_BCS_PROJ_FT: return ft ? &(ft->priv->projexeccmds): NULL; + default: return NULL; + } + break; + case GEANY_GBG_EXEC_IND: + switch (src) + { case GEANY_BCS_PREF: return &(exec_pref); case GEANY_BCS_PROJ: return &(exec_proj); default: return NULL; } break; default: - return NULL; + break; } + return NULL; }
@@ -1406,6 +1420,7 @@ static void create_build_menu(BuildMenuItems *build_menu_items) build_menu_items->menu_item[GEANY_GBG_FT] = g_new0(GtkWidget*, build_groups_count[GEANY_GBG_FT]); build_menu_items->menu_item[GEANY_GBG_NON_FT] = g_new0(GtkWidget*, build_groups_count[GEANY_GBG_NON_FT]); build_menu_items->menu_item[GEANY_GBG_EXEC] = g_new0(GtkWidget*, build_groups_count[GEANY_GBG_EXEC]); + build_menu_items->menu_item[GEANY_GBG_EXEC_IND] = g_new0(GtkWidget*, build_groups_count[GEANY_GBG_EXEC_IND]); build_menu_items->menu_item[GBG_FIXED] = g_new0(GtkWidget*, GBF_COUNT);
for (i = 0; build_menu_specs[i].build_grp != MENU_DONE; ++i)
Modified: src/build.h 1 lines changed, 1 insertions(+), 0 deletions(-) =================================================================== @@ -36,6 +36,7 @@ typedef enum GEANY_GBG_FT, /**< filetype items */ GEANY_GBG_NON_FT, /**< non filetype items.*/ GEANY_GBG_EXEC, /**< execute items */ + GEANY_GBG_EXEC_IND, /**< independent execute items */ GEANY_GBG_COUNT /**< count of groups. */ } GeanyBuildGroup;
-------------- This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).